我的PenViewController具有三个标签和一个Container View,这意味着我正在使用嵌入式segue。至少根据我的理解,关于嵌入式序列的事情是,它们不是由推送序列引起的用户操作引起的。但是现在我需要在“容器视图”中单击不同的标签时分别显示不同的子级。如何将这些数据传递到容器视图?这是我的嵌入序列。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"embedded_segue_to_container_vc"]) {
if ([segue.destinationViewController isKindOfClass:[BCDPenDetailContainerViewController class]]) {
BCDPenDetailContainerViewController *container = (BCDPenDetailContainerViewController *)segue.destinationViewController;
container.details=self.details;
}
}
}
最佳答案
容器视图只是一个UIView(带有一些IB魔术),因此如果需要引用它来更改(或添加)子视图控制器,则可以为其创建IBOutlet。要添加另一个子视图控制器,请使用标准的自定义容器控制器api,然后将新控制器的视图添加到容器视图中,
-(IBAction)addNew:(id)sender {
UIViewController *newVC = [self.storyboard instantiateViewControllerWithIdentifier:@"NewVC"];
[self addChildViewController:newVC];
[newVC didMoveToParentViewController:self];
newVC.view.frame = self.containerView.bounds; // containerView is the IBOutlet to the container view in the storyboard
[self.containerView addSubview:newVC.view];
}
关于ios - 如何使嵌入式Segue响应用户操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24964427/