我讲到小概念,喜欢用简明的语句描述清楚。今天描述一下tintColor,喜欢读长篇大论的,我在后面附了传送门。

1.所有的常用控件,都有tintColor属性。其中,UIView也有这个属性,可想而知继承UIView的控件也都有tintColor了。

2.使用场景:当父视图更改了tintColor为red,那么它所有的一级子视图tintColor全部为red,除非你主动设置过子视图的tintColor。它再往下的子视图的tintColor则遵循直接父视图的tintColor 。

3.如果没有给任何视图指定过tintColor,系统会默认给原生控件指定一个tintColor,比如UIButton的title和UIProgressView的progress都是淡蓝色。

注意是原生控件,如果你的控件是自定义的,比如UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];这样初始化来的,系统就没有为Button 的title颜色指定为默认的蓝色tintColor。

如果你要使用tintColor,需要子类化它,然后在- (void)tintColorDidChange里面写上[self setTitleColor:self.tintColor forState:UIControlStateNormal],就OK了。

所以我猜想,系统默认将控件的某些颜色指定为tintColor的情况下,是因为系统控件的源码里面有上面这句set...Color: self.tintColor 。

示意图:

              

这个tintColor属性是从iOS7才开始引入的,个人认为苹果的目的是为了界面风格的统一性,因为从7开始,iOS摒弃了原有的拟物化风格而转为了扁平化。

参考传送门:https://www.shinobicontrols.com/blog/ios7-day-by-day-day-6-tint-color

中文版:http://www.cocoachina.com/ios/20150703/12363.html?utm_medium=referral&utm_source=pulsenews

3分钟理解tintColor是个啥玩意相关推荐

  1. java弱引用怎么手动释放,十分钟理解Java中的弱引用,十分钟java引用

    十分钟理解Java中的弱引用,十分钟java引用 本篇文章尝试从What.Why.How这三个角度来探索Java中的弱引用,帮助大家理解Java中弱引用的定义.基本使用场景和使用方法.由于个人水平有限 ...

  2. 一分钟理解Java包装类型

    转载自  一分钟理解Java包装类型 Java 一直标榜自己是一个纯粹的面向对象语言,自作聪明的为所有的值类型都提供相应的引用类型(不明白这两个概念,看之前的<一分钟理解传值和传引用>)比 ...

  3. 一分钟理解Java公平锁与非公平锁

    转载自  一分钟理解Java公平锁与非公平锁 和朋友聊天他提到:ReentrantLock 的构造函数可以传递一个 bool 数据,true 时构造的是"公平锁".false 时构 ...

  4. 五分钟理解什么是面向对象

    昨天讲了MVC,有同学表示还想了解一些软件开发架构方面的姿势.我琢磨了半天,列了不少技术名词,本来想挑一个出来讲一讲,写了一半发现有很多前置知识之前没涉及,于是决定把坑填一填,先从基础的「面向对象」讲 ...

  5. 5分钟理解边缘概率,联合概率,条件概率,随机事件独立,随机事件依赖

    在隐马尔可夫(HMM)和条件随机场(CRF)中有很多概率计算问题,要想理解他们,必须先把概率的一些概念及计算公式搞清楚.本文旨在用形象的图形和具体事例来讲解这些概念和公式,以帮助理解.这里讲的部分内容 ...

  6. 5分钟理解Iass Pass SasS三种云服务区别

    5分钟理解Iass Pass SasS三种云服务区别 其实搞懂这个问题也不难,我们可以把云计算理解成一栋大楼,而这栋楼又可以分为顶楼.中间.低层三大块. 那么我们就可以把Iass(基础设施).Pass ...

  7. 五分钟理解什么是接口

    五分钟理解什么是接口   在IT和互联网领域里面,这个词在不同场景下都会出现,比如"USB接口","让后台给我提供一个接口,我直接调用这个接口","这 ...

  8. unity 3分钟理解 批处理和drawcall有什么区别

    3分钟理解 批处理和drawcall有什么区别? 本人技术有限,如有错误,请道友们留言讨论,切勿口吐芬芳. 正文-------------------------------------------- ...

  9. 一分钟理解 HTTPS 到底解决了什么问题

    本文原作者"虞大胆的叽叽喳喳",原文链接:jianshu.com/p/8861da5734ba,感谢原作者. 1.引言 很多人一提到 HTTPS,第一反应就是安全,对于普通用户来说 ...

最新文章

  1. python做词云做文本处理_文本挖掘——python词云实现
  2. YCSB benchmark测试mongodb性能——和web服务器测试性能结果类似
  3. redis中的crc16算法
  4. Linux脚本关联,shell数组和关联数组
  5. 使用 Python 在 Linux 上实现一键回归测试
  6. python网络编程库_python网络编程学习笔记(9):数据库客户端
  7. html5中折叠面板,Ant Design中折叠面板Collapse
  8. LeetCode--32. 最长有效括号(栈)
  9. 云端调用android函数,【探坑】Bmob的云端逻辑
  10. 巩固——Vue中如何使用less和scss?
  11. RIP实现等开销负载均衡的配置
  12. css3学习笔记之背景
  13. Python 分词工具大总结,盘点哪个更好用?
  14. 代码评审(CR)实践指南
  15. iphone备份步骤(使用iTunes)
  16. 以太坊_Mist客户端下载及安装
  17. 青岛VR全景制作免费方法教程
  18. 华硕笔记本电脑开机进入bios
  19. CSDN 学习勋章获得攻略
  20. 07Linux打包解压文件-Exiting with failure status due to previous errors

热门文章

  1. 特征选择方法之CHI、IG、TF-IDF
  2. 21道海量数据面试题
  3. android手游内存不足,安卓手机内存不足解决办法
  4. matlab 求未知函数,求解具有未知参数的 BVP
  5. 通过例子学TLA+(六)--标准模块
  6. 013_流式计算系统(开发混合推荐系统)
  7. 入住智慧城市 享大数据平台
  8. 【强化学习篇】--强化学习案例详解一
  9. 关于输入法中文模式下怎么输入英文标点符号
  10. 数据库异常用户sa登录失败_验证密码失败:连接数据库服务器的SQL SERVER失败(密码可能不正确)错误信息,用户SA登录失败?-这是什么意思?...