【问题标题】:How to hide navigation bar when using with tabbar in iOS 4?在 iOS 4 中与 tabbar 一起使用时如何隐藏导航栏?
【发布时间】:2012-04-13 09:50:16
【问题描述】:

我对 iOS 很陌生。这是我已经实现的:

我正在 iOS 4 中开发一个应用程序(根据需要)。我已经通过应用程序委托将 navigationController 用作根控制器。

然后从我第一个加载的视图中,我推送到另一个在其中实现标签栏的视图控制器,比如 MyTabBarViewController。

MyTabBarViewController 通过以下方式说 3 个 viewControllers 与之关联:

MyTabBarController.viewControllers = [NSArray arrayWithObjects:yxzcontroller,abcController,nil];

现在我只想显示第二个和第三个视图控制器的导航栏,并且还想自定义它。

那么如何从第一个 viewcontroller(yxzcontroller) 中隐藏导航栏 MyTabBarController 并为其他人定制?

我试过了:

[self.navigationController.navigationBar setHidden:YES];

我也试过了:

[self.parentViewController.navigationController setNavigationBarHidden:YES animated:YES];

但这些不适用于 yxzcontroller。

总结一下:

我有 NavController 作为根控制器 --> 普通 ViewController --> ViewController (with TabBarController)

TabBarController---> yxzcontroller,abcController

【问题讨论】:

    标签: ios4 uinavigationcontroller uitabbarcontroller show-hide


    【解决方案1】:

    我认为您不应该在导航控制器中使用标签栏控制器。你可能可以做到,但它可能会变得很奇怪。

    你应该可以打电话

    [self.navigationController setNavigationBarHidden:YES animated:NO];
    

    在视图的 ViewDidLoad 中您想要隐藏的导航栏。

    【讨论】:

    • 谢谢...正如您所提到的,我已经在 ViewDidLoad、ViewDidAppear 和 ViewWillAppear 中尝试过...但这些都不起作用
    • 我能知道你为什么说我们不应该在导航控制器中有标签栏控制器吗?因为我这样做是因为我想在选项卡之间保持堆栈流
    • 这不是苹果希望你这样做的方式。标签栏控制器范例是每个标签都存在一个独立的东西。如果你不想,那,你可以假装它。见:stackoverflow.com/questions/576764/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多