UI一揽子计划 24 (MVC、通知、)
// 单例类 对象 通知中心 [NSNotificationCenter defaultCenter]
// 通知的名字全是大写的
// 注册的时候 object 就填 nil
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(actionNotifitation:) name:@"NOTIFICATIONONE" object:nil];
- (void)actionNotifitation:(NSNotification *)notification
{
if ([notification.name isEqualToString:@"NOTIFICATIONONE"]) {
// 1. 把 windows 的rootVC 取出来
UIViewController *vc = self.window.rootViewController;
// 2. 把已经设置window 的rootVC 重置为空
self.window.rootViewController = nil;
// 3. 设置皮肤
// 取出NAVBar 和 tabBar
// 通过调用 appearance 取出 要更改的Bar
UINavigationBar *navBar = [UINavigationBar appearance];
UITabBar *tabBar = [UITabBar appearance];
// 更改颜色
[navBar setBarTintColor:[UIColor redColor]];
[tabBar setBarTintColor:[UIColor redColor]];
// 4. 重新赋值 window 的根视图控制器
self.window.rootViewController = vc;
} else if ([notification.name isEqualToString:@"NOTIFICATIONTWO"]){
UIViewController *vc = self.window.rootViewController;
self.window.rootViewController = nil;
UINavigationBar *navBar = [UINavigationBar appearance];
UITabBar *tabBar = [UITabBar appearance];
[navBar setBarTintColor:[UIColor grayColor]];
[tabBar setBarTintColor:[UIColor grayColor]];
self.window.rootViewController = vc;
}
// 接受发过来的信息(携带的参数)
NSDictionary *dic = notification.userInfo;
NSLog(@"我收到通知了%@, 通知的名字:%@, object:%@", dic, notification.name, notification.object);
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"NOTIFICATIONTWO" object:nil userInfo:nil];
}
// 发送通知
- (void)actionButton:(UIButton *)button
{
// 发送一条通知 名字必须一样 否则接受不到
// userInfo 才是携带的参数 是个字典
// 构建一个字典
// object 一般 nil
// 携带参数就放字典里面
[[NSNotificationCenter defaultCenter] postNotificationName:@"NOTIFICATIONONE" object:self userInfo:@{@"UI":@"Over"}];
{
// 页面被销毁的时候,就把通知销毁
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"NOTIFICATIONONE" object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"NOTIFICATIONTWO" object:nil];
[_window release];
[super dealloc];
UI一揽子计划 24 (MVC、通知、)相关推荐
- UI一揽子计划 9 (UITableView 、UITableView 、重用机制)
一. UITableView UITableView继承自UIScrollView,所以可以滚动 表视图的每⼀一条数据都是显示在UITableViewCell对象中 表视图可以分区显⽰示数据,每个分区 ...
- UI一揽子计划 1 (UIView UILabel)
第一天 1.UIView ·建立一个空模板后,首先将ARC模式关闭,因为iOS采用MRC模式,即手动管理内存. ·重写dealloc方法. - (void)dealloc { [_window rel ...
- UI一揽子计划 22 (多线程概述、NSThread、NSOperationQueue 、GCD、多线程管理)
一.多进程概述: 进程: 一个正在运行的程序 叫做一个进程 多进程: 多个程序正在运行 叫做多线程 线程: 一个进程 都会有一个或多个线程 如果只有一个 叫做主线程 主线程负 ...
- UI一揽子计划 17 (image的异步加载、KVO观察者模式、KVO进行豆瓣列表界面图片的异步加载)
把下载图片的封装起来 ImageDownloader.h #import <Foundation/Foundation.h> @protocol ImageDownloaderDel ...
- UI一揽子计划 8 (UINavigationController 、界面通信 、NSTimer 、NSUserDefaults)
一.UINavigationController // 创建一个导航控制器 // 创建一个控制器作为根控制器 去管理 RootViewController *rootVC ...
- UI一揽子计划 14 (拖控件 、)
- (void)viewDidLoad { [super viewDidLoad]; // 注册cell // 如果使用Xib 文件加载cell 的话 一定要注 ...
- UI一揽子计划 2 (UITextField UIButton)
UItextField 一.创建一个UITextField时候默认就弹出键盘 1 对齐方式 textField.textAlignment = NSTextAlignmentCente ...
- UI一揽子计划 11 (自定义UITableViewCell、Cell 的自适应高度)
一. 自定义UITableViewCell 在日常的编程中,系统提供的几种Cell 样式 往往不能满足我们的需求.所以需要我们给它进行自定义样式. 自定义Cell 就是创建一个UITableViewC ...
- UI一揽子计划 12 (模态ViewController、单例、通讯录实战、)
一.模态ViewController 程序中切换⻚面,可以使⽤用UINavigationController.通过导航功能实现⻚面切 换. 某种情况下,可以使⽤视图控制器的一对⽅法实现切换⻚面 1.p ...
最新文章
- Meizu M8 Preview
- 计算机网络与通信基础知识,计算机网络与通信基础/谢雨飞
- python中yield的用法
- django按钮点击后想刷新当前页面的view写法
- 关闭Eclipse光标悬浮自动提示
- 容器中Java RAM的使用:不会丢失内存的5大技巧
- MYSQL安装时解决要输入current root password的方法
- AutoHotKey在魔兽中显示文字或图片
- GitHub 开源官方命令行工具登顶 TOP1,5 分钟极速上手!
- 3年后,基于mysql控制vsftp的用户认证机制
- IIS 发布网站无法显示CSS、背景及图片文件---另一个思路--终极方案
- python代码敲写英雄联盟排列
- Win11此应用无法在你的电脑上运行怎么解决
- php guzzlehttp,使用Guzzle执行HTTP请求
- 微信小程序背景图片真机不显示问题
- 书摘—做自己的公关专家
- 【JQuery】使用JQuery实现城市两级或三级联动(下拉菜单)
- 功能需要富文本编译器图片不转base64,琢磨了一下,上代码
- 5种数据分析常用的思维方法!
- Android 滚动字幕实现
热门文章
- 放弃MBP,用 8GB 的树莓派4 工作一天,是这样的感受!
- 笔记系列-----oracle中表的几种类型
- hexo博客插入音乐播放器
- 开机logo bmp gif_比支付宝还蓝?腾讯 QQ 简洁版 TIM 更新 LOGO
- 自动跳格的验证码输入
- BigDecimal基本知识
- C++中为什么使用bool类型
- 为什么CPU流水线会提高代码执行效率?
- 15-2.1 面试核心部分要点(基础部分给新手看的,祝莘莘学子早日学业有成) --不要害怕Java难,这两章掌握了,Java基础就掌握了
- 莫等闲,白了少年头,空悲切。