可能重複:
How to tell if UIViewController's view is visible如何檢查特定UIViewController的視圖當前是否可見?
我開發處理從網絡輸入數據的恆定流,並且提供許多不同的UIViews的供用戶查看的應用程序數據。
當某些模型數據基於來自網絡的傳入流進行更新時,我訪問關聯的UIViewController或UITableViewController並對其執行-setNeedsDisplay(對於UIViewController)或-reloadData(對於UITableViewController)。
有沒有辦法來檢查給定的UIView是否正在顯示(不只是被加載),以便我只做-setNeedsDisplay或-reloadData如果用戶正在查看該UIView?看起來在用戶目前沒有看到的視圖上調用-setNeedsDisplay或reloadData會浪費處理能力,並且不利於電池壽命。當用戶最終切換到先前更新的視圖時,在-viewWillAppear上執行-setNeedsDisplay或reloadData將更有意義。
感謝
http://stackoverflow.com/questions/2777438/how-to-tell-if-uiviewcontrollers-view-is-visible/2777460#2777460 – LolaRun 2011-11-29 21:28:58
我不能添加另一個答案,但現在有一個屬性在視圖控制器上稱爲isVisible – 2017-10-04 07:18:20