【iOS开发】whose view is not in the window hierarchy

在做界面跳转的时候,我们经常会用到这两个函数

func dismissViewControllerAnimated(flag:Bool, completion: (() ->Void)?)

func presentViewController(viewControllerToPresent:UIViewController, animated flag:Bool, completion: (() ->Void)?)

有时候先把自己所在的这个页面 dismiss 掉,再 present 另外一个页面时,控制台会提示 whose view is not in the window hierarchy 这个错误信息。

解决方法:


①如果这两个语句出现按钮点击事件里面

这时只要把 dismiss 这一句注释掉,直接 present 就可以啦。

②而如果这种语句出现在 ViewDidLoad 方法中

那么则应该把语句转移到 ViewDidAppear 方法中,毕竟你不能对一个只 Load 完毕,却还没有 Appear 出来的 ViewController 要求太多 :)

部分参考自StackOverFlow中的:whose view is not in the window hierarchy

你可能感兴趣的:(【iOS开发】whose view is not in the window hierarchy)