【发布时间】:2013-01-11 09:02:14
【问题描述】:
我在父视图控制器 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 和 B viewDidAppear 不会被调用。它应该被触发吗?
QN2:我无法让MyViewController 出现在 iOS 5.1.1 中。除非我将视图控制器 B 作为子容器添加到 A:
[self addChildViewController:vcB];
[self.view addSubview:vcB.view];
通过添加子控制器,我可以让MyViewController 显示和视图控制器 A&B viewDidAppear 将在它被关闭时被调用。 viewDidAppear 在使用 iOS6 时也会被调用。
我不确定这里发生了什么。
【问题讨论】:
标签: ios uiviewcontroller viewdidappear