3分钟理解tintColor是个啥玩意

简介: 3分钟理解tintColor是个啥玩意

我讲到小概念,喜欢用简明的语句描述清楚。今天描述一下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 。

目录
相关文章
|
数据采集 XML 人工智能
|
程序员
他这么写是想干嘛?
他这么写是想干嘛?
138 0
|
Java
编程要搞明白的东西(二)
编程要搞明白的东西(二)
87 0
|
设计模式 运维 架构师
我懵了!架构描述是个啥玩意?
我懵了!架构描述是个啥玩意?
96 0
|
前端开发 自动驾驶 算法
这个知识点99%的前端都没有听过,不信你进来看?
这个知识点99%的前端都没有听过,不信你进来看?
100 0
|
算法 NoSQL API
到底该不该看源码(懂这三点儿就够了)
1、不要为了看源码而看源码 2、代码积累到一定程度,遇到问题自然就去查源码了,然后你就看懂了 3、两年内不要刻意去看源码,可以点开简单了解一下就行,前两年疯狂做项目就行了,后期项目做的多了,你自己就会有疑问,每次写代码就会问自己为什么要这样写?底层的原理是什么?很自觉的带着问题就去看源码了,如果你没有这样的疑问,那说明你也不适合去看源码了,写写业务代码,了了一生
189 0
|
移动开发 缓存 ARouter
没错,TheRouter 是我写的
大约在17年底到18年初的时候,我经常会讲一些当时做模块化开发的心得和踩坑历程
223 0
|
前端开发 Java Spring
项目中发现了一个新的玩意WebAsyncTask
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
173 0
|
网络协议 Linux
又被鹅厂搞懵了!
客户端(主动关闭方)在 TIME_WAIT 状态下,如果收到服务端的数据包时,会怎么处理?
又被鹅厂搞懵了!
|
人工智能 5G 数据安全/隐私保护
5G时代都要来了,你还没用过它?
5G时代已经成为了近期热词,2019年也被认为是5G的开局之年。作为跨时代的移动通信技术,5G能让人与物、物与物之间形成更快速更全面的连接,彻底改变我们的生活和商业模式。各家设备商和运营商都在积极布局5G产业,深化5G应用。 但是,5G网络完成搭建,大规模投入商用,还需要一些时间。除此之外,还有很多移动终端的技术改变在发生着。
153 0
5G时代都要来了,你还没用过它?