手动将 UITabBar 添加到 UITableViewController
Posted
技术标签:
【中文标题】手动将 UITabBar 添加到 UITableViewController【英文标题】:manually add UITabBar to UITableViewController 【发布时间】:2011-05-08 21:29:46 【问题描述】:我有一个标准应用程序,它带有一个导航控制器,用于管理多个 UITableViewController 类。
我想在根视图(一个 UITableViewController)中添加一个 UITabBar 来管理过滤 UITableView 中显示的对象的选择。
我不想要/不需要 UITabBarController。 UITabBar 仅用于功能和 UI(单选按钮样式选择和熟悉的标签栏 UI)。我只想手动创建一个 UITabBar 并将其添加到我的视图中,锚定/锁定到屏幕的最底部,就像使用 UITabBarControllers 时的情况一样。
我的主要问题是我不知道应该添加什么 UITabBar 作为子视图。
我不想将它添加到控制器 self.tableView 中,因为那样它会锚定在滚动 TableView 的底部,并且并不总是在屏幕底部可见。
我也尝试添加到 view.tableView.superview,但似乎效果不佳。
任何帮助,还是我完全在“以错误的方式过滤 tableview 数据”并且应该改用其他东西?
【问题讨论】:
【参考方案1】:所以,UITableViewController
的问题在于它并不像您预期的那样工作。将“锁定”元素添加到 UITableView 是非常困难的 - 表格页脚和标题不起作用,而且您发现将其添加到超级视图不起作用。
在这种情况下最好的解决方案实际上是将表格视图控制器扔出窗口,并使用带有普通视图控制器的表格视图。
你要做的是创建一个普通的UIViewController
,然后给它添加一个表格视图。您的表视图委托和数据源也可以在此视图控制器中。
然后您可以将表格视图的大小调整为小于屏幕的大小,并将您的UITabBar
添加到视图控制器的主视图中。
【讨论】:
好的,这是有道理的。让我问一下是否有替代使用 UITabBar 来做我想做的事情。尝试使 UIToolbar 模仿 UITabBar (视觉上),然后我可以将其用作 UITableView 的工具栏,是否值得麻烦?我不反对以编程方式创建一个普通的 UIViewController,只是好奇 我猜你可以。您需要一些技巧/黑客才能使您的工具栏看起来与标签栏完全一样 - 标签栏比工具栏高约 6 像素,您还需要重新实现您免费获得的所有逻辑一个标签栏。但这肯定是一种方法。以上是关于手动将 UITabBar 添加到 UITableViewController的主要内容,如果未能解决你的问题,请参考以下文章
如何将 UIViewController/UITabBar 添加到 UITableViewCell?
将 UITabBarItem 添加到 UIViewController 中的 UITabBar