当我向视图控制器添加UIContainerView时,它的类型是UIView。
如何获取嵌入视图的UIViewController?
我需要设置嵌入式视图视图控制器的一些属性。
谢谢
答案 0 :(得分:2)
在包含 ing 视图控制器的prepareForSegue:sender:
中,您可以将segue.destinationViewController
作为嵌入式视图控制器进行访问。如果您在包含视图控制器中有多个segue,则您希望在故事板中为每个segll提供一个唯一标识符字符串,这样您就可以检查segue.identifier
中的prepareForSegue:sender:
以查看您和#39;重新处理。
如果您需要在segue.destinationViewController
返回后再向其发送更多消息,则可以将prepareForSegue:sender:
保存在实例变量中。
答案 1 :(得分:1)
如果您使用的是storyboard,则可以在prepareForSegue方法中访问子视图控制器,segue是从容器视图到其子视图控制器,如果您使用代码添加子视图控制器,则可以直接访问
答案 2 :(得分:1)
在UIContainerView中,你直接使用Storyboard嵌入到UIViewController,或者你使用编码方式访问childViewController,首先,我在下面给出了storyboard解决方案,
下面给出了使用Coding格式从ParentViewController嵌入ChildViewController的另一种方法
@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];
}
希望它有用..