【发布时间】:2014-10-03 01:02:23
【问题描述】:
我希望视图控制器检查一些东西,如果它是真的,它将允许用户使用视图控制器,如果它是假的,它会向用户显示警报并将用户发送回他/她来自的地方.
所以我尝试将其添加到 viewDidLoad 末尾的 if 语句中:
[self.navigationController popViewControllerAnimated:YES]
但是,我得到了错误:
2014-08-09 20:12:59.731 ProjectName[1978:60b] 嵌套弹出动画可以 导致导航栏损坏
2014-08-09 20:13:00.118 ProjectName[1978:60b] 完成一个 导航转换处于意外状态。导航栏子视图 树可能会损坏。
我从this StackOverflow question 了解到,在viewDidLoad 完成之前调用pushViewController 或popViewController 是不安全的。有没有办法解决这个问题?
TLDR:我正在尝试将视图控制器推入堆栈,显示警报,然后将视图控制器从堆栈中弹出。
编辑:添加代码。
【问题讨论】:
-
viewDidAppear:怎么样?您还可以考虑显示向用户解释正在发生的事情的警报,并在用户解除警报后弹出控制器。
标签: ios uinavigationcontroller viewdidload popviewcontroller