我有一个用故事板设计的应用程序。我正在尝试在视图底部添加一个标签栏,我有我的uitableviewcontroller,问题是它会在第一个单元格下自动拖动它。
我打算在标签栏上添加4个按钮,每个按钮在此视图中执行特定操作(每个按钮将使用Web上的不同数据重新加载表格)。
答案 0 :(得分:2)
选择您的控制器,然后选择菜单Editor > Embed In > Tab Bar Controller
答案 1 :(得分:2)
根据您的描述,UIToolBar将是您的最佳选择。您可以将它放在视图控制器的底部,并为更新数据的每个按钮创建IBActions。
如果您打算使用UITabBar,则需要重新考虑故事板布局。您将有一个UITabBarController作为初始视图,它将您的TableViewController子类作为根视图。您可以创建四个单独的TableViewController子类(每个子类用于不同的数据集),也可以使用单个子类从UITabBarController接收要加载的数据集的加载消息。
如果您决定使用工具栏,则无法将其添加到默认Interface Builder TableViewController的底部。按照以下步骤将工具栏添加到TableViewController子类的底部:
UIViewController
(这将替换您的UITableViewController
)UIViewController
的类设置为UITableViewController
子类(Identity Inspector)UIToolbar
的底部插入UIViewController
,并根据需要添加按钮,IBOutlets和IBActions。UITableView
添加到占据屏幕空间其余部分的UIViewController
。UITableView
的dataSource和委托连接到UITableViewController
子类这应该是在TableViewController中获取工具栏所需的全部内容。它需要在Interface Builder中进行额外配置,但它是唯一的方法,无需编写额外的代码。
答案 2 :(得分:0)
我打算在标签栏上添加4个按钮,每个按钮执行一定的操作 操作INSIDE此视图(每个都将重新加载表 来自网络的不同数据)。
根据你的上一句话,我判断你既不需要标签栏也不需要tableviewcontroller。您只需要一个简单的视图控制器在顶部 Tableview ,在底部工具栏 。工具栏将有一个段控件,包含4个部分 - 这将作为四个按钮。在每个部分点击,您可以捕获值更改的事件,并根据所选索引在表中加载新数据。
这是一种简单的做事方式。不要使用标签栏让生活变得复杂:)
答案 3 :(得分:0)
好的,这就是我最终做的。 我在user2105505提到的方法中遇到错误(标记为正确),所以我决定创建一个UIVIEWCONTROLLER并将我的tableviewcontroller添加为该uiviwewcontroller的子节点(通过导入uitableviewcontroller类,创建类的isntance并实例化self.storyboard),然后将工具栏添加到uiviewcontroler。
然后只需将tableview添加为uiviewcontroller视图的子视图,但是你需要记住做两件事。
实例化您的工具栏,并修改tableview的大小以使其适合并且工具栏显示。(可能使用bringToFront作为替代?对我不起作用,必须手动指定大小)。