将 TAB BAR 添加到 uitableviewcontroller [关闭]

Posted

技术标签:

【中文标题】将 TAB BAR 添加到 uitableviewcontroller [关闭]【英文标题】:Adding a TAB BAR to a uitableviewcontroller [closed] 【发布时间】:2014-01-17 15:57:10 【问题描述】:

我有一个使用情节提要设计的应用。我正在尝试在我有 uitableviewcontroller 的视图底部添加一个标签栏,问题是它会自动将它拖到第一个单元格下。

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

【问题讨论】:

听起来UIToolBar 最适合您的需求。标签栏用于导航。不执行操作。 创建MCVE解释问题:***.com/help/mcve 【参考方案1】:

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

    在情节提要中插入UIViewController(这将替换您的UITableViewController) 将新 UIViewController 的类设置为 UITableViewController 子类(身份检查器) 在新的UIViewController 底部插入UIToolbar,并根据需要添加按钮、IBOutlets 和IBAction。 将UITableView 添加到您的UIViewController 以占用剩余的屏幕空间。 在连接检查器中,将 UITableView 的数据源和委托连接到 UITableViewController 子类 根据需要添加和配置尽可能多的原型 TableViewCell。

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

【讨论】:

问题是我不认为我需要一个 tabbarcontroller,我想要的只是屏幕底部的 4 个按钮,每个按钮都连接到一个 IBAction,它将重置表数据。问题是无论我向 tableviewcontroller 添加什么,它都会将它附加到第一个单元格的底部。 我添加了在您的视图中获取工具栏的步骤。我是凭记忆写的,所以我可能错过了一步。如果我这样做了,请告诉我,否则请将其标记为正确答案。祝你好运! 我收到以下错误:[UITableViewController loadView] 加载了“Yfd-OW-gAN-view-aED-XN-o5u”笔尖,但没有获得 UITableView。'【参考方案2】:

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

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

【讨论】:

【参考方案3】:

我打算在标签栏上添加 4 个按钮,每个按钮执行特定的操作 在此视图内的操作(​​每个都将重新加载表 来自网络的不同数据)。

根据您的最后一句话,我判断您既不需要标签栏也不需要 tableviewcontroller。你只需要一个简单的视图控制器,在顶部有一个Tableview 工具栏 在底部时间>。工具栏将有一个 段控件 与 4 个部分 - 将充当四个按钮。在每个部分点击,您可以捕获值更改的事件,并根据选定的索引将新数据加载到表中。

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

【讨论】:

【参考方案4】:

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

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

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

【讨论】:

以上是关于将 TAB BAR 添加到 uitableviewcontroller [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Tab Bar Controller + Navigation Controller + Bar Button Item

在appdelegate类中添加tab bar viewcontroller和DDMenuController

Tab Bar 子 viewWillAppear 不会触发,添加 NavigationController 会给出两个导航栏

点击 Tab bar 过滤列表 Flutter

动画将新行插入 UITableView 的新部分

将 UIToolbar 添加到窗口