ios - 导航 Controller 始终为零

标签 ios uiviewcontroller uinavigationcontroller uistoryboard

我正在呈现 UIViewController,如:

UIStoryboard *storyboard  = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

PhotoViewController *resultVC = [storyboard instantiateViewControllerWithIdentifier:NSStringFromClass([PhotoViewController class])];
[self.navigationController presentViewController:resultVC animated:YES completion:^{}];

我已经登录控制台,结果是:

po self.navigationController
<UINavigationController: 0x9c3e920>

但是当我在 PhotoViewController 类中时,我已经记录了控制台,结果是:

po self.navigationController
nil

这里是零。我不知道为什么会这样。我也有这个,但它总是没有:

[self presentViewController:resultVC animated:YES completion:^{}];

最佳答案

是的,它是零。 UIViewController.navigationController 属性只会在 ViewController 被推送时设置,而不是呈现。 一个不太优雅的解决方案是在呈现之前对 NavigationController 进行全局引用(例如将引用放在单例中),然后您可以从 UIViewController 内部读取它

关于ios - 导航 Controller 始终为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21907918/

相关文章:

ios - TableViewController 的pushViewController 方法中的navigationController = null (popover)

iphone - 如何模拟点击(越狱)iPhone 的主屏幕?

ios - 如何像 Uber 一样在 Google map 上添加 3d 对象作为标记

ios - 在另一个 View Controller 中访问 UISegmentedControl 的 selectedindex

ios - 从一个类调用 IBOutlet UIButton 到另一个 Viewcontroller

ios - 不支持推送导航 Controller

ios - 插件 com.apple.share.Facebook.post 失效

ios - View Controller TDD

objective-c - UIViewController - iPad Pro 3rd 顶部和底部出现神秘空白

iphone - 以编程方式创建 uitableview