在 iOS7.1 中使用 show (push) segue 不会出现导航栏

Navigation bar doesn't appear using show (push) segue in iOS7.1

我有三个设备,三个 iOS 版本。我把导航栏隐藏在RootViewController。然后对于每个 ViewController,我将导航栏显示为

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.userInteractionEnabled = YES;
    // Do any additional setup after loading the view.
    [self.navigationController setNavigationBarHidden:NO];
    CGRect frame = CGRectMake(0, 0, 0, 44);
    UILabel *label = [[UILabel alloc] initWithFrame:frame];
    label.backgroundColor = [UIColor clearColor];
    label.font = [UIFont fontWithName:@"Helvetica-Bold" size:20.0];
    label.textAlignment = NSTextAlignmentCenter;
    label.textColor = [UIColor blackColor];
    label.text = @"Update Height";
    self.navigationItem.titleView = label;
}

它适用于 iOS8.4 和 iOS9.1 的两台设备,但不适用于 iOS7.1。对于 iOS7.1 设备,如果我将 segue 更改为自定义类型,则会显示导航栏。但是,如果我更改为 Show (Push) segue,则导航栏不会显示。 可能是什么问题呢? 我使用了 UIStoryBoard 的 segue。 谢谢

阅读此 link 然后尝试此

 //hide on current view controller
  - (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:YES animated:YES];
}

// show on next view controller
- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:YES];
}