手动将 UITabBar 添加到 UITableViewController
我有一个标准应用程序,带有管理多个 UITableViewController 类的导航控制器。
我想将 UITabBar 添加到根视图(UITableViewController)来管理过滤 UITableView 中显示的对象的选择。
我不想要/不需要 UITabBarController。 UITabBar 仅用于功能和 UI(单选按钮样式选择和熟悉的选项卡 UI)。我只想手动创建一个 UITabBar 并将其添加到锚定/锁定到屏幕最底部的视图中,就像使用 UITabBarControllers 时的情况一样。
我的主要问题是我无法弄清楚我应该将 UITabBar 添加为子视图。
我不想将其添加到控制器 self.tableView 中,因为这样它将固定在滚动 TableView 的底部,并且并不总是在屏幕底部可见。
我还尝试添加到 view.tableView.superview 但这似乎也不起作用。
有什么帮助吗,或者我完全是在“以错误的方式过滤表格视图数据”,而应该使用其他东西来代替?
I have a standard app with a navigation controller managing several UITableViewController classes.
I want to add a UITabBar to the root view (a UITableViewController) to manage filtering the selection of objects showin in the UITableView.
I dont want/need a UITabBarController. The UITabBar is only for functionality and UI (radio-button style selection and familiar tabbar UI). I just want to manually create a UITabBar and add it to my view anchored/locked to the very bottom of the screen like is the case when using UITabBarControllers.
My main problem is I can't figure out what I should be adding the UITabBar as a subview too.
I dont want to add it to the controllers self.tableView because then it would be achored to the bottom of the scrolling TableView and not always visible on the bottom of the screen.
I also tried adding to the view.tableView.superview but that didnt seem to work as well.
Any help, or am I completely doing this "filtering of tableview data the wrong way" and should be using something else instead?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因此,
UITableViewController
的问题是它无法按照您的预期正常工作。将“锁定”元素添加到 UITableView 非常困难 - 表页脚和页眉不起作用,并且正如您发现的那样,将其添加到超级视图不起作用。在这种情况下,最好的解决方案实际上是将表视图控制器扔出窗口,并使用带有普通视图控制器的表视图。
您想要做的是创建一个普通的 UIViewController,然后向其中添加一个表视图。您的表视图委托和数据源也可以位于此视图控制器中。
然后,您可以将表格视图的大小调整为小于屏幕的大小,并将
UITabBar
添加到视图控制器的主视图。So, the problem with a
UITableViewController
is it doesn't quite work as you might expect. It's very difficult to add 'locked' elements to a UITableView - the table footers and headers don't do the job, and as you've discovered adding it to the superview doesn't work.The best solution in this case is actually to throw the table view controller out the window, and use a table view with a normal view controller.
What you want to do is create a normal
UIViewController
, and then add a table view to it. Your table view delegate and datasource can also be in this view controller.You can then resize your table view to be smaller than the size of the screen, and add your
UITabBar
to the view controller's main view.