Joh*_*ohn 3 uinavigationcontroller ios
我显然错过了一些东西......
在我的iOS应用程序中,我将UIViewController推送到导航控制器:
MyViewController *mvc = [[MyViewController alloc] initWithNibName:@"MyViewController"];
[self.navigationController mvc animated:YES];
Run Code Online (Sandbox Code Playgroud)
MyViewController显示正常,我可以看到并使用navigationBar,但当我尝试从视图控制器中获取指针返回导航控制器时,我得到一个零结果.
UINavigationController *nav = [self navigationController];
if (!nav) {
NSLog(@"no nav");
}
Run Code Online (Sandbox Code Playgroud)
我整天都在反对这一点,但却看不出我做错了什么.我在Xcode中没有任何警告或错误.我完全错过了什么吗?
TIA:约翰
该navigationController不会被正确设定viewDidLoad.你必须检查它viewDidAppear或在稍后阶段.你打算[self navigationController]采用哪种方法?
原因是当viewDidLoad调用时,UINavigationController仍在处理该pushViewController:animated:方法.它似乎在初始化控制器之后设置navigationController属性.我不记得该属性是否由时间运行设置,但它应该由它设置.viewviewWillAppearviewDidAppear
| 归档时间: |
|
| 查看次数: |
8948 次 |
| 最近记录: |