zoukankan      html  css  js  c++  java
  • iOS App 获取从后台返回前台时的页面

    产品美美的给小伙伴提了一个需求,当程序从后台进入前台时,如果是指定的页面,则弹出提示框。

    大家首先想到的方法就是通过 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];
    }
    

      这样子 就可以保证只有在当前页面显示的时候调用监听啦

    问题基本解决,可能还有漏洞 或是更好的方法,欢迎添加

  • 相关阅读:
    当前页面跳转网页,新打开和在本页面打开
    文本框内按下enter键禁止换行
    排序算法
    Java实现图片的叠加与拼接
    简单工厂模式
    单例模式
    Java实现代理模式
    调用第三方接口生成短链接(五)
    调用第三方接口生成短链接(四)
    调用第三方接口生成短链接(二)
  • 原文地址:https://www.cnblogs.com/waiwaibuzhidao/p/4139683.html
Copyright © 2011-2022 走看看