【问题标题】:Dismissing View controllers and then presenting them关闭视图控制器,然后呈现它们
【发布时间】:2014-07-28 08:43:37
【问题描述】:

我有一个包含 3 个视图控制器的应用程序。

第一个呈现第二个,第二个呈现第三个。然后我有一个按钮,我想带我回到第一个视图控制器。此按钮有效。但是,我尝试从第一个视图控制器呈现第二个视图控制器,然后再次从第二个视图控制器呈现第三个视图控制器。呈现第二个视图控制器工作正常,但呈现第三个视图控制器不起作用。我得到错误:

警告:尝试呈现不在窗口层次结构中的视图!

第一个视图控制器是游戏的主菜单,第二个视图控制器是游戏发生的地方,第三个视图控制器是最终结果屏幕。有没有比我的方法更好的方法?

有人有解决办法吗?提前致谢。

【问题讨论】:

  • 它们是模态序列吗?
  • 好吧,我的应用程序没有使用故事板。我只为所有事情使用代码。我使用了方法 [self presentViewController:viewController animated:BOOL completion:^(void)completion];和 [self dismissViewControllerAnimated:BOOL 完成:^(void)completion];.

标签: ios


【解决方案1】:

您必须使用导航控制器。您现在所做的只是在无限循环中推送视图。

这是一个非常好的网站,可以阅读示例。

http://www.mysamplecode.com/2013/01/ios-navigation-view-controller-example.html

【讨论】:

  • 当一个新的视图控制器添加到堆栈中时,视图控制器是否会从内存中释放?我问的是性能方面的原因,因为我正在制作游戏,所以我需要确保当前的视图控制器具有尽可能好的性能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多