在推送视图控制器后立即弹出



我想让视图控制器检查一些东西,如果它为真,它会允许用户使用视图控制器,如果它为假,它会向用户显示一个警告,并将用户送回他/她来自哪里。

所以我试着在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] finish up a导航转换处于意外状态。导航栏子视图

我从这个StackOverflow问题中了解到,在viewDidLoad完成之前调用pushViewControllerpopViewController是不安全的。有什么办法可以解决这个问题吗?

TLDR:我正在尝试将视图控制器推到堆栈上,显示警报,然后将视图控制器弹出堆栈。

编辑:添加代码

如果您想显示警报,这应该相当容易。

1 -从viewDidAppear内部调用[UIAlertView show]方法。建议使用viewDidAppear,因为它将是视图生命周期中的最后一个,当视图控制器完全推送到堆栈上时。所以弹弹是无害的。

2 -在clickedButtonAtIndex委托方法中,调用popViewControllerAnimated .

相关内容

  • 没有找到相关文章

最新更新