iOS 在視圖控制器里面判斷 應用程序的前台 后台切換 UIViewController


1.時機  用戶點擊home 鍵  應用退到后台 再次點擊進入前台  在UIViewController里面 控制器如何獲取相關的事件?  

2.需求

(1)NSTimer   在應用程序進入后台 10秒至10分鍾會停止(10分鍾左右一般應用也會被kill)  但是只要在后台這個nstimer 運行 就是邋遢的 所以我想停止它 在應用進入后台的時候

(2)程序支持后台下載,當用戶停止在下載管理界面時,然后用戶點擊home鍵使程序進入后台運行,等用戶返回到程序時,下載管理界面需要顯示最新的下載進度。(需要長時間處理 需要開啟后台服務,這里 我們只講UIViewController 里的兩個事件)

3.實現

這里使用通知實現(這兩個方法 是監控全局的 所以 要執行方法 還要判斷是不是在當前的視圖控制器中,判斷方法在接下來的隨筆中實現)

//增加監聽
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(appHasGoneInForeground:)
                                      name:UIApplicationWillEnterForegroundNotification
                                           object:nil];  
//別忘了刪除監聽
[[NSNotificationCenter defaultCenter] removeObserver:self];   
UIApplicationDidEnterBackgroundNotification  //進入后台
UIApplicationWillEnterForegroundNotification //回到程序

很方便是不是 ,之前我還傻乎乎的在AppDelegate里面  判斷好多條件去刷頁面,現在想來,那會我真是個屌絲,哈哈


免責聲明!

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



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