当我添加一个UIContainerView到视图控制器它的types是UIView。 如何到达embedded视图的视图控制器?

当我添加一个UIContainerView到视图控制器它的types是UIView。

我如何到达embedded式视图的UIViewController?

我需要设置embedded视图视图控制器的一些属性。

谢谢

prepareForSegue:sender:在包含视图控制器中,您可以像segue.destinationViewController一样访问embedded式视图控制器。 如果在包含视图控制器中有多个节点,则需要在故事板中为每个segue.identifier一个唯一的标识符string,以便您可以在prepareForSegue:sender:查看segue.identifier以查看您正在处理的是哪个segue。

您可以将segue.destinationViewController保存在实例variables中,如果您以后需要在prepareForSegue:sender:返回后再发送更多消息。

如果你正在使用storyboard,你可以在prepareForSegue方法中访问子视图控制器,segue是从容器视图到它的子视图控制器,如果你使用代码来添加子视图控制器,你可以直接访问它

在UIContainerView中,您直接使用Storyboardembedded到UIViewController,或者使用编码的方式访问childViewController,首先,我已经在下面给出了故事板的解决scheme,

我创buildparentViewController添加UIContainerView然后拖动到ChildViewController显示选项来selectembedded最后运行您的项目

然后,使用编码格式从ParentViewControllerembeddedChildViewController的另一种方法如下

 @property (weak, nonatomic) UIViewController *currentViewController; @property (weak, nonatomic) IBOutlet UIView *containerView; ViewDidLoad method: _currentViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"childViewController"]; _currentViewController.view.layer.cornerRadius = 8.0f; _currentViewController.view.translatesAutoresizingMaskIntoConstraints = NO; [self addChildViewController:_currentViewController]; [self addSubview:_currentViewController.view toView:_containerView]; - (void)addSubview:(UIView *)subView toView:(UIView*)parentView { [parentView addSubview:subView]; NSDictionary * views = @{@"subView" : subView,}; NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[subView]|" options:0 metrics:0 views:views]; [parentView addConstraints:constraints]; constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[subView]|" options:0 metrics:0 views:views]; [parentView addConstraints:constraints]; } 

希望它的帮助..