子视图控制器的视图未显示在容器中
Child view controller's view is not shown in a container
我在情节提要中有一个场景 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
...我能是什么不见了?
谢谢
我终于注意到我忽略了什么...因为我还在故事板中为 MyChildViewController
创建了一个场景,我需要从那里实例化它。
我在情节提要中有一个场景 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
...我能是什么不见了?
谢谢
我终于注意到我忽略了什么...因为我还在故事板中为 MyChildViewController
创建了一个场景,我需要从那里实例化它。