当前位置: 首页 > news >正文

UITextAttributeTextColor 的替换方法+自定义导航控制器的价值

UITextAttributeTextColor 的替换方法  

     UITextAttributeTextColor 已经在iOS7.0以后被推荐使用了,UITextAttributeTextColor = deprecated in iOS 7.0,改为推荐使用UITextAttributeTextColor类来代替,具体替换方法以及相关示例代码如下:

  - 使用UITextAttributeTextColor的方法源代码如下所示:

    // 3.设置导航栏主题
    UINavigationBar *navBar = [UINavigationBar appearance];
    // 设置背景图片
    [navBar setBackgroundImage:[UIImage imageNamed:@"NavBar64"] forBarMetrics:UIBarMetricsDefault];
    // 设置标题文字颜色和字体大小
    NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
    attrs[UITextAttributeTextColor] = [UIColor whiteColor];
    attrs[UITextAttributeFont] = [UIFont systemFontOfSize:16];
    [navBar setTitleTextAttributes:attrs];

 

 

  - 使用UITextAttributeTextColor类代替上述代码如下:

1. 更新后的第一种方法:

    // 设置标题文字颜色和字体大小
        NSMutableDictionary *attrs = [NSMutableDictionary dictionary];
        attrs[NSForegroundColorAttributeName] = [UIColor whiteColor];
        attrs[NSFontAttributeName] = [UIFont systemFontOfSize:16];
        [navBar setTitleTextAttributes:attrs];

 

或者:

2. 更新后的第二种方法:

 

    // 3.设置导航栏主题
    UINavigationBar *navBar = [UINavigationBar appearance];
    // 设置背景图片
    [navBar setBackgroundImage:[UIImage imageNamed:@"NavBar64"] forBarMetrics:UIBarMetricsDefault];
    // 设置标题文字颜色和字体大小
    [[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], NSForegroundColorAttributeName, [UIFont systemFontOfSize:16], NSFontAttributeName,nil]];

    但是在用最后一种方法实现时,自定义导航控制器以后,运行后控制器中的view都不见了。因此还是推荐使用更新后的第一种方法。

-》但是当我为了简便起见:不用每个导航控制器的子控制器都需要逐个勾选  hide Bottom on Push。

  - 即自定义导航控制器,重写show方法,并且让stroyboard里面的相应导航控制器都定义为自定义的导航控制器,这样就可以减少很多麻烦。

		- 重写push方法就可以拦截所有压入栈中的子控制器,统一做一些处理
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;

		- 重写pop方法就可以拦截所有子控制器的出栈
- (UIViewController *)popViewControllerAnimated:(BOOL)animated;

 

/**
 *  重写这个方法,能拦截所有的push操作
 *
 */
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    viewController.hidesBottomBarWhenPushed = YES;
    [super pushViewController:viewController animated:animated];

 

或者也可以重写相应的pop方法;

- (UIViewController *)popViewControllerAnimated:(BOOL)animated
{
    return [super popViewControllerAnimated:NO];
}

 

 

敬请指正。

转载于:https://www.cnblogs.com/wangmaster/p/5111436.html

相关文章:

  • Pivot运算符用于在列和行之间
  • Android活动管理工具
  • js的使用方法
  • BZOJ 17891830 推式子 乱搞
  • LightOJ1037 Agent 47(状压DP)
  • itext文档摘录
  • iOS:APNS推送主要代码
  • 上周热点回顾(1.11-1.17)
  • iOS之旅--隐藏(去除)导航栏底部横线
  • JVM内存机制
  • 浅谈MVVM架构
  • Python执行需要经过哪些过程
  • OSI
  • 例题 3-6 环状序列
  • JQuery中使用Ajax实现诸如登录名检测等异步请求Demo
  • 【前端学习】-粗谈选择器
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • Angularjs之国际化
  • Codepen 每日精选(2018-3-25)
  • crontab执行失败的多种原因
  • Flex布局到底解决了什么问题
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Git 使用集
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Linux CTF 逆向入门
  • mockjs让前端开发独立于后端
  • Vue小说阅读器(仿追书神器)
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 给github项目添加CI badge
  • 浅谈web中前端模板引擎的使用
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 学习使用ExpressJS 4.0中的新Router
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 7行Python代码的人脸识别
  • Nginx实现动静分离
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​油烟净化器电源安全,保障健康餐饮生活
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #微信小程序:微信小程序常见的配置传值
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (1)常见O(n^2)排序算法解析
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (数据结构)顺序表的定义
  • (四) Graphivz 颜色选择
  • (一)Linux+Windows下安装ffmpeg
  • (一)Thymeleaf用法——Thymeleaf简介
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .pop ----remove 删除
  • .py文件应该怎样打开?