iOS App 擷取從後台返回前台時的頁面

來源:互聯網
上載者:User

標籤:blog   http   io   ar   os   sp   on   div   問題   

產品美美的給小夥伴提了一個需求,當程式從後台進入前台時,如果是指定的頁面,則彈出提示框。

大家首先想到的方法就是通過 AppDelegate.h 進行控制,相對複雜的步驟就是 在程式進入後台時對當前頁面進行儲存,然後在從後台進入前台再判斷是否是合格頁面,判斷是否彈框。基本思想就是這樣

然後 我就開始需找新的方法,然後我就開始了新的實踐

新方法 比較適用於匹配頁面較少的情況, 對單個UIViewController進行監聽

方法來源:http://www.shangxueba.com/jingyan/1844939.html

上面的方法 把監聽放在了

- (void)viewDidLoad 

銷毀監聽放在

-(void)dealloc

但是這樣做有個問題,因為只有在頁面真正銷毀時才會調用  -(void)dealloc 這樣有很多情況頁面沒有銷毀,但是也沒有顯示在當前視窗(比如 push新頁面進入,舊頁面不會銷毀)

所以我把監聽添加和銷毀的位置進行了移動

-(void)viewDidAppear:(BOOL)animated{    [[NSNotificationCenter defaultCenter] addObserver:self                                             selector:@selector(someMethod:)                                                 name:UIApplicationDidBecomeActiveNotification object:nil];}-(void)viewDidDisappear:(BOOL)animated{    [[NSNotificationCenter defaultCenter] removeObserver:self];}

  這樣子 就可以保證只有在當前頁面顯示的時候調用監聽啦

問題基本解決,可能還有漏洞 或是更好的方法,歡迎添加

 

iOS App 擷取從後台返回前台時的頁面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.