作为我更新我的应用程序以用 presentViewController 替换已弃用的 presentModalViewController 的一部分,我做了一些测试。我的发现令人不安。虽然 presentModalViewController 始终有效,而且毫无疑问它有效,但我发现 presentViewController 方法通常根本不会显示我的 VC。没有动画,它永远不会出现。我的 loadView 调用没有问题,但实际视图没有出现。
所以这就是我正在做的事情:
- 用户在我的主视图控制器中点击一个按钮。
- 在该点击的回调中,我创建了一个新的视图控制器并如上所示显示它。
- VC 从未出现(虽然这是一个间歇性问题),但因为这个 VC 开始播放一些音频,我知道它的 loadView 被调用,如下所示。
我的按键回调如下:
- (void) buttonTapped: (id) sender {
VC *vc = [[VC alloc] init];
[self presentViewController: vc animated:YES completion: nil];
[vc release];
}
这是我在 VC 类中的加载视图:
- (void) loadView {
UIView *v = [UIView new];
self.view = v;
[v release];
... create and addsubview various buttons etc here ...
}
谢谢。