控制器走了viewDidLoad方法后没有走后面的方法了

当有提示框弹出的时候,并且提示框没有消失的时候,我用window的根控制器present一个控制器,发现只是走了要present控制的viewDidLoad方法,后面的viewWillAppear以及后面的方法都没有走了。

后面发现也是只有提示框的时候,才会出现这种情况。

最后没有找到好的解决办法,只有将控制器定义为一个成员变量属性,然后让keyWindow addSubview控制器的view,之所以要让控制器变为成员属性,是因为后面控制器的一些逻辑处理还要调用,不能让控制器消失。最后再让控制器的view从父控件中移除,但是这样就没有了dismissViewControllerAnimated的动画效果,不过自己可以在从父控件移除的时候,进行动画设置。

将控制器的view添加到keyWindow上
将控制器的view从keyWindow上移除

顺便想说的是:我想在present之前找到提示框,并且隐藏或者remove掉,但是还是不行。

当然这只是我遇到的“控制器走了viewDidLoad方法后没有走后面的方法了”这种情况,还有其他的情况,请看下面的文章,希望有一篇适合你的
viewWillAppear不运行。
viewWillDisappear,viewWillAppear不调用的解决方法

你可能感兴趣的:(控制器走了viewDidLoad方法后没有走后面的方法了)