iOS 探讨之 UIButton State 神坑

本文探讨了UIButton的State特性,解析了Swift和Objective-C版本的UIControl State,揭示了状态之间的位运算逻辑。当状态冲突时,系统会将状态设为默认。同时,文章提到了如何处理特殊情况并介绍了Swift的集合操作符。
摘要由CSDN通过智能技术生成

简述

对于一些平常不太关注的事情来说,我们认为其的发生是理所当然,当问题蹦出后,“我靠( ‵o′)凸,按道理不应该这样啊 ~ ”  随之而出。

这次,我就被 UIButton 的 State 狠狠调戏了一番。

 

探讨

初次认知 UIButton 的时候我就会被其的各种状态折磨得头昏脑涨,后来随着见面次数的增加,慢慢了解到其的状态实际上是位的枚举集合。

那么,首先我们来瞜一眼苹果官方DOC。

Swift 版本 UIControl (UIButton直接父类) 的 State

 

从这个DOC中,我们可以认知到:

1 控件的状态是一个集合 (也就是说 可能同时存在  selected | disabled 的情况)

2 每一个状态对应一个 Int 值,可以通过 Int 值来反推集合内部组成

3 iOS 9以后 又添加了几种枚举 (逻辑更加复杂了,我们暂时不考虑它们)

 

Swift 版本 DOC 内部介绍并不是那么的完整,不过我依稀记得 OC 版本是有介绍的,让我们来欣赏一下 OC 版本DOC。

Objective-C 版本 UIControl (UIButton直接父类) 的 St

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值