【问题标题】:hide default navigation bar in navigation controller in ios 5在 ios 5 的导航控制器中隐藏默认导航栏
【发布时间】:2012-04-09 20:36:09
【问题描述】:

我正在使用情节提要为 iOS 5 编程。 我正在尝试使用导航控制器创建应用程序。 在我的应用程序中,我希望一些视图控制器具有导航栏,而在一些我没有。

我使用以下link 作为我创建一个的指导。

这就是我以编程方式隐藏导航栏的方式:

在 MyAppDelegate 中我声明了一个变量:

UINavigationController *navigationController;

@property (strong, nonatomic) IBOutlet UINavigationController *navigationController;

在我的 UIViewController 中,这是第一个 UIViewController,我做了以下操作

- (void)viewDidload
{
    [self.navigationController setNavigationBarHidden:YES animated:YES];
    [super viewDidUnload];

    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

但这不起作用...

如何让它发挥作用?

【问题讨论】:

    标签: ios5 uinavigationcontroller uinavigationbar storyboard show-hide


    【解决方案1】:

    拉吉,

    尝试将这两个函数添加到您的 UIViewController:

    - (void) viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
        [self.navigationController setNavigationBarHidden:YES animated:animated];
    }
    
    - (void) viewWillDisappear:(BOOL)animated
    {
        [super viewWillDisappear:animated];
        [self.navigationController setNavigationBarHidden:NO animated:animated];
    }
    

    【讨论】:

      【解决方案2】:

      story board中选择Navigation Controller,进入attributes inspector,有一个叫Shows Navigation Bar的复选框,取消勾选。

      如果在viewWillAppear: 中设置setNavigationBarHidden:YES,动画(隐藏导航栏)仍然会出现。

      这是主要区别。

      【讨论】:

      • 我在 ios 4. 所以没有故事板
      猜你喜欢
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      • 2018-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多