iOS:pushViewController冻结了应用程序

时间:2012-07-03 23:27:09

标签: objective-c ios

我是一名新的iOS开发人员,致力于处理一些遗留代码。我从代码中了解到,为了启动一个新的屏幕,我可以做到:

SomeViewController* view = [[SomeViewController alloc] initWithNibName:@"SomeViewController" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:view animated:YES];
[view release];

我从屏幕A启动了屏幕B.我需要从屏幕B进一步启动屏幕C.流程是A - > B - > C.当我做B-> C时,应用冻结,屏幕看起来像这样:

enter image description here

然而,当我做A-> C时,它的效果非常好。谁看过这个吗?真的很感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

如果不看更多代码,很难说出真正的问题是什么。但是,我注意到两个问题:

  1. 当您将viewcontrollers推送到UINavigationController堆栈时,通常会看到正在显示的导航栏。我在屏幕截图中看不到导航栏。您可能需要嵌入UINavigationController。
  2. 在其中一条评论中已经提到了这一点。将UIView推送到UIViewController堆栈是一个未经解决的操作 - 您应该推送UIViewController。例如:

    [self.navigationController pushViewController:myViewControllerForViewC animated:YES];