【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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容