iOS判斷當前控制器是否正在顯示


+(BOOL)isCurrentViewControllerVisible:(UIViewController *)viewController
{
    return (viewController.isViewLoaded && viewController.view.window);
}

也可以將該方法定義在UIViewController的分類中, 方便多處調用

 

假如一個UIView對象當前正在顯示,那么它的window屬性肯定為非空值。

雖然官方文檔未說明UIView未顯示時window屬性的取值,但是經過簡單的測試,大部分情況下UIView未顯示時,

window的值為空,因此依據此判斷當前UIViewController是否正在顯示。但是訪問UIViewController的view屬性時,

可能會引起view加載(假如此時還未加載),這是不必要的,而且還可能引起無法預期的問題。因此在訪問view屬性之前,最好先檢查isViewLoaded屬性來避免上述問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM