我正在初始化一个视图控制器并像这样推送它
MyViewController *vc = [[MyViewController alloc] init];
[self.navigationController pushViewController:vc animated:YES]
然而,该应用程序在推送后基本冻结。如果我不推,它不会转换到新视图,但我可以继续使用该应用程序(它不会冻结)。
此外,如果我将一个视图控制器添加到我的类MyViewController的故事板并给它一个故事板ID,我可以初始化视图控制器并使用storyboard instantiateViewControllerWithIdentifier
方法推送它。
有人知道为什么会这样吗?
修改
使用Zaph在评论中推荐的技术,我可以看到代码一直在迭代新视图控制器的viewWillLayoutSubviews
方法。不知道为什么会这样。
答案 0 :(得分:1)
您不使用alloc / init作为视图控制器。您需要从故事板或XIB文件加载它。如果您从故事板加载它,则使用instantiateViewController:withIdentifier。如果从XIB加载它,则需要使用initWithNibName:bundle:
答案 1 :(得分:-1)
如果您正在运行Xcode 5(Xcode 4上的COMMAND + 6)以显示所有断点,请尝试并按命令+7。然后删除所有断点,因为它听起来像是在断点处被冻结。
希望这有帮助!