在iOS中导航期间更改UITabBar

时间:2010-11-17 09:12:27

标签: iphone ios uinavigationcontroller uitabbarcontroller uitabbar

当我的应用程序启动时,它会显示一个导航视图,其中包含一个tableview和一个底部的tabbar。

这样的事情:

TabBar --> UINav1, UINav2, UINav3, UINav4

每个UINav都包含一个最终显示的ViewController。

如果用户从ListView(主屏幕)移动到详细视图,我希望能够更改UITabBar。

我不必更换整个标签栏至少更改/删除按钮。

但是,如果我使用上面的模型(将TabBarController设置为根控制器),那么它似乎在导航过程中几乎卡住了并​​且不可变。我能做的最好的就是将它隐藏在某些视图中。

一直在试图解决这个问题

谢谢!

3 个答案:

答案 0 :(得分:0)

您可以使用

- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated

在你的UITabBarController中设置tabBar你想要的任何viewController

编辑:你可能不想看这个问题,希望看起来很相似iPhone, how I hide a tab bar button?

答案 1 :(得分:0)

这种情况并不常见,但您可以以模态方式呈现新的标签栏控制器及其关联的视图。

假设您的listView是一个UITableViewController,您可以在didSelectRowAtIndexpath方法中推送新的标签栏控制器。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// ...
[self.tabBarController presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated]

PS:在这种情况下,我会非常小心你如何构建你的UI,因为它会让用户感到非常困惑。)

我希望它有所帮助。 ROG

答案 2 :(得分:0)

经过进一步研究,我认为这是不可行的。