子视图控制器的视图未显示在容器中
Posted
技术标签:
【中文标题】子视图控制器的视图未显示在容器中【英文标题】:Child view controller's view is not shown in a container 【发布时间】:2015-04-26 14:08:10 【问题描述】:我在情节提要中有一个带有Container View
的场景。正如您可能猜想的那样,我希望其关联的UIViewController
在那里加载另一个UIViewController
作为子视图控制器,并将其视图显示为子视图。
所以,我在父 UIViewController
中定义了属性:
@property (weak, nonatomic) IBOutlet UIView *containerView;
@property (strong, nonatomic) MyChildViewController *childController;
然后,在父级的viewDidLoad
方法中,我这样做:
if (self.childController == nil)
self.childController = [[MyChildViewController alloc] init];
[self addChildViewController:self.childController];
self.childController.view.frame = CGRectMake(0, 0, self.containerView.frame.size.width, self.containerView.frame.size.height);
[self.containerView addSubview:self.childController.view];
[self.childController didMoveToParentViewController:self];
self.childController.view
和 self.containerView
都不是 nil
,但是当我运行应用程序时,self.childController.view
不显示...我会丢失什么?
谢谢
【问题讨论】:
【参考方案1】:我终于注意到我忽略了什么......因为我还在故事板中为 MyChildViewController
创建了一个场景,所以我需要从那里实例化它。
【讨论】:
你在哪里实例化了?以上是关于子视图控制器的视图未显示在容器中的主要内容,如果未能解决你的问题,请参考以下文章