前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何判断UITabBarController上的NavigationController没有被选中?

如何判断UITabBarController上的NavigationController没有被选中?

作者头像
用户1451823
发布2018-09-13 15:45:47
7680
发布2018-09-13 15:45:47
举报
文章被收录于专栏:DannyHoo的专栏DannyHoo的专栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337801

最近在看《百思不得姐》这个项目,其中有一个功能:在某个页面再次点击此页面的tabBarButton会刷新此页面。

首先要判断点击的tabBarButton是否已经被选中,如果被选中,则再次点击会刷新页面。当然这个判断不是本篇博客要说明的问题,本篇博客要说明的是在确定某个tabBarButton已经被选中的情况下,再次点击所要触发的事件。

项目中将所要触发的事件以通知的形式通知给各个navigationController,每个navigationController对该通知进行接收。这里有一个问题,每次重复点击某个tabBarButton的时候都会发出通知,而tabBarController上所有navigationController都要接收此通知,从而进行页面的刷新。我们要求的是重复点击哪个页面的tabBarButton哪个页面进行刷新,而不是每个页面都进行刷新。我们所要解决的问题就是让没有被选中的页面不刷新。这也与本篇博客的题目相呼应:如何判断UITabBarController上的NavigationController没有被选中?

在每个navigationController中进行判断,代码:

 [NSNotificationCenter defaultCenter addObserver:self selector:@selector(didClickRepeat) name:@"刷新" object:nil];

  • (void)didClickRepeat{

if (self.view.window == nil) {

NSLog(@"当前控制器没有被选中...");

    }else{

NSLog(@"当前控制器被选中");

    }

}

代码很简答,可之前却没有想到。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年11月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档