显示/隐藏底部导航栏 - 目标C.

时间:2014-03-10 20:40:14

标签: ios objective-c uitabbarcontroller uitabbar

我在UITableViewController内有TabBarTableView,我希望能够在iPhone屏幕底部显示TabBar,而不是Table Cells的底部所以TabBar始终固定在屏幕上但位于底部。

不确定如何在Table View Controller内完成此操作?

TabBar是一个更精确的导航栏。离开桌子并前往不同的controllers

好的,我刚刚意识到我只是将TabBar拉入控制器。所以我转到Navigation Controller并设置了底部栏。这样就转到了我的下一个问题,如何在某个view controllers中显示该按钮栏,而不是在其他人中显示该按钮栏。

2 个答案:

答案 0 :(得分:1)

您使用UITabBar对于您要完成的操作并不正确。 UITabBar的标准用法是UITabBarController

的上下文

UITabBarController doc

以下是标签栏的示例用法。

1)创建UITabBarController并将其设置为rootViewControllerwindow的{​​{1}}。

2)将标签栏控制器的AppDelegate属性指定为您希望能够在其间切换的视图控制器的数组(您还必须创建)。

3)如果要设置标签栏的不同方面,则需要进行一些额外的研究。通过直接访问viewControllers的{​​{1}}属性来设置某些内容。其他内容(如单个选项卡图标和标题)是使用每个视图控制器的tabBar属性设置的。

4)如果你想将所有这些逻辑封装到一个地方并可能改变一些默认逻辑,那么子类UITabBarController

编辑:你的问题有所改变,我不确定这个答案是否有效。也就是说,听起来你也在滥用tabBarItem,因为这不是它的预期目的(也许你的意思是使用UITabBarController?)

答案 1 :(得分:0)

您的代码设计问题在于您使用的是UITableViewController。它的视图是UITableView,你将作为子视图添加的所有内容都将滚动内容。

快速且无黑客的解决方案是使用:

  • 的UIViewController
  • 将UITableView添加为子视图
  • 将tabBar(我理解为UINavigationBar)添加为viewcontroller.view的子视图,但不添加到tableview。 通过这种方式,您的TabBar将始终位于UITableView上方,并且不会滚动。