天天看點

【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

繼續閱讀