【iOS開發】whoseviewisnotinthewindowhierarchy

KyXu發表於2015-07-23

在做介面跳轉的時候,我們經常會用到這兩個函式

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


相關文章