Ios 当我将UIContainerView添加到视图控制器时,它';s类型是UIView。如何访问嵌入式视图的viewcontroller?
当我将UIContainerView添加到视图控制器时,它的类型是UIView 如何访问嵌入式视图的UIViewController 我需要设置嵌入式视图控制器的一些属性Ios 当我将UIContainerView添加到视图控制器时,它';s类型是UIView。如何访问嵌入式视图的viewcontroller?,ios,uiview,Ios,Uiview,当我将UIContainerView添加到视图控制器时,它的类型是UIView 如何访问嵌入式视图的UIViewController 我需要设置嵌入式视图控制器的一些属性 谢谢如果您使用的是情节提要,您可以在prepareForSegue方法中访问子视图控制器,segue是从容器视图到其子视图控制器,如果您使用代码添加子视图控制器,您可以直接访问它如果您使用的是情节提要,您可以在prepareForSegue方法中访问子视图控制器,segue是从容器视图到其子视图控制器,如果您使用代码添加子视图
谢谢如果您使用的是情节提要,您可以在prepareForSegue方法中访问子视图控制器,segue是从容器视图到其子视图控制器,如果您使用代码添加子视图控制器,您可以直接访问它如果您使用的是情节提要,您可以在prepareForSegue方法中访问子视图控制器,segue是从容器视图到其子视图控制器,如果您使用代码添加子视图控制器,您可以在UIContainerView中直接访问它,您可以使用脚本直接嵌入UIViewController,或者您可以使用编码方式访问子视图控制器,首先,我有下面给出的故事板解决方案 下面给出了使用编码格式从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];
}
希望对您有所帮助。在UIContainerView中,您使用故事板直接嵌入到UIViewController,或者您使用编码方式访问childViewController,首先,我有下面给出的故事板解决方案 下面给出了使用编码格式从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];
}
希望对您有所帮助。在
prepareforsque:sender:
中,在包含ing视图控制器中,您可以作为segue.destinationViewController
访问嵌入式视图控制器。如果包含的视图控制器中有多个分段,则需要在情节提要中为每个分段指定一个唯一的标识符字符串,以便在prepareForSegue:sender:
中检查segue.identifier
,查看要处理的分段
如果以后需要在返回
prepareforsgue:sender:
后发送更多消息,可以将segue.destinationViewController
保存在实例变量中。在包含ing视图控制器的prepareforsgue:sender:
中,您可以通过segue.destinationViewController
访问嵌入式视图控制器。如果包含的视图控制器中有多个分段,则需要在情节提要中为每个分段指定一个唯一的标识符字符串,以便在prepareForSegue:sender:
中检查segue.identifier
,查看要处理的分段
如果以后需要在返回
prepareForSegue:sender:
后发送更多消息,可以将segue.destinationViewController
保存在实例变量中。谢谢您的回复。我使用的是故事板,但是没有segue。它只是一个包含嵌入式UIViewController的容器视图。很抱歉,我的回答很愚蠢。你刚才说的是赛格。我想访问与此无关的视图控制器。我应该从这个序列中保存嵌入式viewcontroller指针吗?我认为您只需要创建一个要嵌入的视图控制器实例,并将容器设置为嵌入式控制器的视图您可以通过代码查看您在IB中完成了多少工作通过链接故事板,所以在这种情况下没有代码可以粘贴。谢谢你的回复。我使用的是故事板,但是没有segue。它只是一个包含嵌入式UIViewController的容器视图。很抱歉,我的回答很愚蠢。你刚才说的是赛格。我想访问与此无关的视图控制器。我应该从这个序列中保存嵌入式viewcontroller指针吗?我认为您只需要创建一个要嵌入的视图控制器实例,并将容器设置为嵌入式控制器的视图您可以通过代码查看您在IB中完成了多少工作通过链接故事板,因此,在本例中没有可粘贴的代码。感谢您的帮助!谢谢你的帮助!谢谢你的帮助!谢谢你的帮助!