我在父视图控制器 A 中有一个视图控制器 B。两个视图同时显示。
在视图控制器 B 中,我尝试使用以下方法呈现一个新的视图控制器:
- (void) buttonClicked:(id)sender
{
MyViewcontroller *vc = [[MyViewcontroller alloc] init];
[self presentViewController:vc animated:YES completion:nil];
}
视图控制器在 iOS6 中正确显示,我MyViewController
使用以下方法关闭:
- (IBAction)backButtonPressed:(id)sender {
[self dismissViewControllerAnimated:YES completion:nil];
}
但是 iOS 5.1 和 iOS 6 之间是有区别的。
QN1:解除后,视图控制器 A 和 BviewDidAppear
不会被调用。它应该被触发吗?
QN2:我无法MyViewController
在 iOS 5.1.1 中出现。除非我将视图控制器 B 作为子容器添加到 A:
[self addChildViewController:vcB];
[self.view addSubview:vcB.view];
通过添加子控制器,我可以MyViewController
显示和查看控制器 A&B viewDidAppear 将在它被解雇时被调用。viewDidAppear
使用 iOS6 时也会调用。
我不确定这里发生了什么。