0

作为我更新我的应用程序以用 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 ...
 }

谢谢。

4

1 回答 1

2

确保调用该函数的控制器当前显示其视图(或者是当前显示的视图的父级)并且它应该可以工作。

于 2013-05-18T19:26:03.323 回答