pushViewController无法显示导航栏

问题:
TestViewController *VC = [[TestViewController alloc] init];
[self.navigationController pushViewController:VC animated:YES];
重写 init 方法,并且使用 self.view addSubview: ,
在 viewDidLoad 中设置 [[self navigationController] setNavigationBarHidden:NO animated:YES];
无法显示导航栏

原因:
viewDidLoad 加载时期不同决定是否能获取 self.navigationController
init 中是否有 self.view addSubview: 操作
有 viewDidLoad 在 pushViewController 之前加载,无法获取 self.navigationController 为 nil
无 viewDidLoad 在 pushViewController 之后加载,可正常获取 self.navigationController

你可能感兴趣的:(pushViewController无法显示导航栏)