如何判断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 条评论
登录 后参与评论

相关文章

来自专栏程序员的SOD蜜

使用“消息服务框架”(MSF)实现分布式事务的三阶段提交协议(电商创建订单的示例)

1,示例解决方案介绍 在上一篇 《消息服务框架(MSF)应用实例之分布式事务三阶段提交协议的实现》中,我们分析了分布式事务的三阶段提交协议的原理,现在我们来看看...

34490
来自专栏Golang语言社区

gRPC服务发现&负载均衡

构建高可用、高性能的通信服务,通常采用服务注册与发现、负载均衡和容错处理等机制实现。根据负载均衡实现所在的位置不同,通常可分为以下三种解决方案:

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

Cocoapods生成静态库(完整)

40950
来自专栏向治洪

React Native移植原生Android

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

20770
来自专栏一“技”之长

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

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

12620
来自专栏沃趣科技

ASM 翻译系列第三十四弹:ASM磁盘组重要属性介绍

原作者:Bane Radulovic 译者: 邱大龙 审核: 魏兴华 DBGeeK社区联合出品 原文链接:http://asmsupportguy....

37160
来自专栏数据之美

使用 django-blog-zinnia 搭建个人博客

django-blog-zinnia 虽然小巧,但是具备了个人博客应用的全部基础功能,且具有很高的拓展性,并且开箱即用。以下是官方列出的一些特性: 评论 站...

35790
来自专栏深度学习计算机视觉

java socket连接之socket半关闭

当我们向服务器传输数据,并不知道传输多少数据时,我们如果当传输数据全部完成后,理科关闭套接字,那么也就立刻与服务器断开了,这个时候就无法获取服务器的响应了 解决...

31370
来自专栏ShaoYL

代理和通知

21750
来自专栏一“技”之长

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

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

7610

扫码关注云+社区

领取腾讯云代金券