首页 > 代码库 > iOS App 获取从后台返回前台时的页面
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];}
这样子 就可以保证只有在当前页面显示的时候调用监听啦
问题基本解决,可能还有漏洞 或是更好的方法,欢迎添加
iOS App 获取从后台返回前台时的页面
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。