iOS presentViewController无法正常工作

时间:2013-05-18 15:56:39

标签: ios uiview uiviewcontroller presentmodalviewcontroller

作为我更新我的应用程序以使用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类中的loadview:

 - (void) loadView {
 UIView *v = [UIView new];
 self.view = v;
 [v release];
 ... create and addsubview various buttons etc here ...
 }

感谢。

1 个答案:

答案 0 :(得分:2)

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