Eri*_*rik 5 objective-c uiviewcontroller uinavigationcontroller ios
我最近遇到过这种情况,我想知道为什么这样设计.
如果你UINavigationController
的孩子的容器视图中有一个嵌入了视图控制器的容器视图,为什么这个孩子的self.navigationController
属性不能设置为什么?
来自Apple Doc的主题:
视图控制器层次结构中最近的祖先是导航控制器.(只读)
@property(非原子,只读,保留)UINavigationController*navigationController讨论如果接收器或其祖先之一是导航控制器的子节点,则此属性包含拥有的导航控制器.如果视图控制器未嵌入导航控制器中,则此属性为nil.
对我来说,我会想,因为它的父元素嵌入到导航控制器中,它会将它的引用传递给链接到它的子节点.我错过了什么吗?是不是有充分的理由呢?
嗨,我和你有同样的问题。我通过使用以下代码来显示视图控制器来修复它:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
AboutTheAppViewController *loginVC = [storyboard instantiateViewControllerWithIdentifier:@"aboutMenuSegueID"];
[self addChildViewController:loginVC];
[loginVC didMoveToParentViewController:self];
[self.view addSubview:loginVC.view];
Run Code Online (Sandbox Code Playgroud)
然后我将其添加到 AboutTheAppViewController (我将要显示的控制器):
-(void)willMoveToParentViewController:(UIViewController *)parent
{
NSLog(@"FirstViewController moving to or from parent view controller");
// self.view.backgroundColor=[UIColor blueColor];
}
-(void)didMoveToParentViewController:(UIViewController *)parent
{
NSLog(@"FirstViewController did move to parent view controller");
// self.view.frame = CGRectMake(20, 20, 280, 528);
}
Run Code Online (Sandbox Code Playgroud)
我希望它有帮助。
归档时间: |
|
查看次数: |
810 次 |
最近记录: |