【问题标题】:How to place buttons above UITableView (and not in navigation bar)?如何在 UITableView 上方放置按钮(而不是在导航栏中)?
【发布时间】:2011-04-13 13:45:38
【问题描述】:

我是 iphone 编程新手。我现在正在学习uitableview。我需要创建一个在表格视图上方(但不在导航栏中)有按钮的应用程序,就像在这个应用程序中一样(最近,支持,...):

这是如何实现的,按钮是表格标题的一部分吗?有人按下表格视图上方的按钮后,是否可以调用一个函数来用新数据重绘表格视图。是怎么做到的?

谢谢。

【问题讨论】:

  • 你想用表格滚动这些按钮吗?
  • 你说的是最近在iPhone的Phone应用中吗?
  • 我希望它们始终位于顶部,以便用户能够更改 tableview 中显示的内容(我不会在底部有标签)。
  • @Ravin:我的按钮会有不同的名字,这个截图只是为了说明我需要什么。
  • 抱歉,我看不到屏幕截图。他们在哪里

标签: iphone uitableview button


【解决方案1】:

创建一个新的视图控制器,但不要选中 UITableViewController 子类的复选框。 在 IB 中,将 uiTableView 拖到视图上,并使其在导航栏下方约 44 像素处开始。 然后将按钮拖到该空间中。在您的 .h 文件中声明您的 IBOutlet 变量,并将它们连接起来。

对于您问题的第二部分:让按钮调用 IBAction,并调用该方法

  [myTableView reloadData];

【讨论】:

  • 你如何让按钮周围的空间变成白色,这样当你滚动 TableView 时,它不会出现在按钮周围?
【解决方案2】:

按钮只能放置在 UITableView 上方的绿色背景图像(在上述情况下)上,即您的表格视图可以从放置按钮的绿色背景图像视图下方开始。

【讨论】:

    【解决方案3】:

    您可以在 init 方法或 loadView 或您喜欢的任何地方执行此类操作:

    UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Recent", @"Support", @"Around here", nil]];
    segment.segmentedControlStyle = UISegmentedControlStyleBar;
    self.tableView.tableHeaderView = segment;
    [segment release];
    

    【讨论】:

    • 请注意,通过这种方式,它们并不总是可见的——它们会随着表格滚动。
    • 如果您希望它们始终可见,您可能希望使用自己的 UIViewController 而不是继承 UITableViewController,以便您可以根据需要调整表格视图的大小(并将这些按钮放在顶部)。跨度>
    【解决方案4】:

    如果您不想使用表格视图滚动这些按钮,那么您可以将它们添加到您的 IB 中并在它们下方添加您的表格视图。为 IB 中的每个按钮分配一个标签。单击按钮时,请检查按钮标记的操作(为按钮指定的操作)并根据其标记重新加载表格。

    如果您想使用表格滚动它们,请将它们添加到 indexPath.row == 0。

    这些也是自定义类型的按钮,并且这些法师都设置了它们。

    【讨论】:

      【解决方案5】:

      你想要的其实很简单……

      你有一个UITabBarController 和一个UINavigationController,这又是一个UIViewController 等等,作为一个rootcontroller 对吧?然后在您的 loadView/XIB 中,您只需制作一个具有任何大小、颜色等的自定义 UIView。然后在此视图中附加一个 UISegmentedControl。然后您将您的UITableView 定位到自定义UIView 的底部。它只是一个垂直方向的线性布局。

      那么您将在UITableView“上方”有一个固定定位的视图。

      如果你想知道是否可以使用 UITableView...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-20
        • 2023-03-16
        • 2019-04-04
        • 2011-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多