将TAB BAR添加到uitableviewcontroller [关闭]

问题描述 投票:1回答:4

我有一个用故事板设计的应用程序。我正在尝试在视图底部添加一个标签栏,我有我的uitableviewcontroller,问题是它会在第一个单元格下自动拖动它。

我打算在标签栏上添加4个按钮,每个按钮在此视图中执行一定的操作(每个按钮将使用来自Web的不同数据重新加载表格)。

ios storyboard uitableview uitabbar
4个回答
2
投票

根据您的描述,UIToolBar将是您的最佳选择。您可以将它放在视图控制器的底部,并为更新数据的每个按钮创建IBActions。 如果您打算使用UITabBar,则需要重新考虑故事板布局。您将有一个UITabBarController作为初始视图,它将您的TableViewController子类作为根视图。您可以创建四个单独的TableViewController子类(每个子类用于不同的数据集),也可以使用单个子类从UITabBarController接收要加载的数据集的加载消息。 如果您决定使用工具栏,则无法将其添加到默认Interface Builder TableViewController的底部。按照以下步骤将工具栏添加到TableViewController子类的底部:

  1. UIViewController插入故事板(这将取代您的UITableViewController
  2. 将新UIViewController的类设置为UITableViewController子类(Identity Inspector)
  3. 在新的UIToolbar底部插入UIViewController,并根据需要添加按钮,IBOutlets和IBActions。
  4. 添加一个UITableView到你的UIViewController占据屏幕空间的其余部分。
  5. 在连接检查器中,将UITableView的dataSource和delegate连接到UITableViewController子类
  6. 根据需要添加和配置尽可能多的原型TableViewCell。

这应该是在TableViewController中获取工具栏所需的全部内容。它需要在Interface Builder中进行额外配置,但这是在不编写额外代码的情况下执行此操作的唯一方法。


2
投票

选择你的控制器然后菜单Editor > Embed In > Tab Bar Controller

编辑:我完全没有读你的问题。其他答案更正确。


0
投票

我打算在标签栏上添加4个按钮,每个按钮在此视图中执行一定的操作(每个按钮将使用来自Web的不同数据重新加载表格)。

根据你的最后一句话,我判断你既不需要标签栏也不需要tableviewcontroller。您只需要一个简单的View控制器,其顶部是Tableview,底部是工具栏。工具栏将有一个包含4个部分的段控件 - 这将作为四个按钮。在每个部分点击,您可以捕获值更改的事件,并根据所选索引在表中加载新数据。

这是一种简单的做事方式。不要使用标签栏让你的生活变得复杂:)


0
投票

好的,这就是我最终做的。我在user2105505提到的方法中遇到错误(标记为正确),所以我决定创建一个UIVIEWCONTROLLER并将我的tableviewcontroller添加为该uiviwewcontroller的子节点(通过导入uitableviewcontroller类,创建类的isntance并实例化self.storyboard),然后将工具栏添加到uiviewcontroler。

然后只需将tableview添加为uiviewcontroller视图的子视图,但是你需要记住做两件事。

实例化您的工具栏,并修改tableview的大小,使其适合并显示工具栏。(也许使用bringToFront作为替代?对我不起作用,必须手动指定大小)。

© www.soinside.com 2019 - 2024. All rights reserved.