ios - 导航栏不显示

标签 ios objective-c xcode5

我有这个问题:我有一个 View Controller (嵌入在导航 Controller 中),在执行操作后触发手动转场推送新 View Controller ,但是在新的 View Controller 中没有导航栏,因为在第一个 Controller 中我实现了 viewWillDisappear 方法,如下所示:

启动 View Controller

- (void)viewWillDisappear:(BOOL)animated {
  // Hide the navigation bar just before the view disappear
  [[self navigationController] setNavigationBarHidden:YES animated:YES];
}

这是 IBAction 中的手动转场代码:

[self performSegueWithIdentifier:@"tutorialSegue" sender:self];

目标 View Controller

我试过这样

- (void)viewDidLoad
{
    [super viewDidLoad];
// Do any additional setup after loading the view.
    [[self navigationController] setNavigationBarHidden:NO animated:NO];
}

但它不起作用,实际上在调试器中我注意到 navigationcontroller 等于 nil 而我只是想不通为什么。

最佳答案

如果您希望 StartViewController 隐藏导航栏,而 DestinationViewController 显示它: 在-(void)viewWillAppear:方法中添加相应的代码。

启动 View Controller :

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

目标 View Controller :

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

如果您希望两个 View Controller 都有导航栏,只需删除所有包含 setNavigationBarHidden:

的行

关于ios - 导航栏不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19379003/

相关文章:

ios - 列出可访问的 AirPrint 打印机

ios - Swift:从DropBox下载图像

用于从桌面访问 iOS 应用程序的文档目录的 Windows API?

ios - 如何使用 iOS 创建一个大的红色 UIButton?

ios - Xcode - 找不到架构 x86_64 的符号(iOS Lib)

ios - 如何使用 Xcode 5 构建 iOS 6?

iOS:iAd 单例混淆

objective-c - 按日期属性对自定义类对象数组进行排序

ios - Xcode 5 警告 : Attribute Unavailable

iphone - 如何获得真实设备的方向?