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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/53120115

最近在看《百思不得姐》这个项目,其中有一个功能:在某个页面再次点击此页面的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(@"当前控制器被选中");

    }

}

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏移动端周边技术扩展

Cocoapods生成静态库(完整)

2615
来自专栏coding for love

在线商城项目17-登录态保持

前面我们实现了登入登出,一切看上去是没有什么问题,但是如果我们试着在登录情况下刷新一下页面。

951
来自专栏LinXunFeng的专栏

iOS - FTPManager的简单使用及常见问题

1564
来自专栏Seebug漏洞平台

使用 XML 内部实体绕过 Chrome 和 IE 的 XSS 过滤器

来源:BypassingXSSFiltersusingXMLInternalEntities 原作者:DavidLitchfield (david@davidl...

39510
来自专栏一“技”之长

iOS网络编程之七——本地用户凭证Cookie的应用

    Cookie是网站为了便是终端身份,保存在终端本地的用户凭证信息。Cookie中的字段与意义由服务端进行定义。例如,当用户在某个网站进行了登录操作后,服...

1052
来自专栏一“技”之长

iOS中使用本地通知为你的APP添加提示用户功能

首先,我们先要明白一个概念,这里的本地通知是UILocalNotification类,和系统的NSNotificationCenter通知中心是完全不同的概念。

661
来自专栏向治洪

React Native移植原生Android

(一)前言 之前已经写过了有关React Native移植原生Android项目的文章,不过因为RN版本更新的原因吧,跟着以前的文章可能会出现一些问题,对于初学...

1937
来自专栏

后端开源软件集合

缓存系统:memcached(group cache)、redis、mongodb、Couchbase(CouchDB、Membase、CouchOne) ht...

2329
来自专栏娱乐心理测试

小程序,公众号,App的微信支付详解

7506
来自专栏陈满iOS

iOS·采用第三方(百度地图SDK)实现定位等功能开发

首先,申请一个baidu账号,接着进入新建密钥入口申请成为baidu地图开发者,填写相关开发者信息和短信验证码。接下来点击创建应用,如官方文档新建密钥文档指南里...

3643

扫码关注云+社区