今天来总结一下UIButton(UIControl)的几种状态。
UIControlStateNormal = 0,
UIControlStateHighlighted = 1 << 0,
UIControlStateDisabled = 1 << 1,
UIControlStateSelected = 1 << 2,
由此可总结出下表:
- | Selected | Disabled | Normal | State |
---|---|---|---|---|
UIControlStateNormal | 0 | 0 | 0 | 0 |
UIControlStateHighlighted | 0 | 0 | 1 | 1 |
UIControlStateDisabled | 0 | 1 | 0 | 2 |
UIControlStateSelected | 1 | 0 | 0 | 4 |
UIControlStateSelected|UIControlStateHighlighted | 1 | 0 | 1 | 5 |
UIControlStateSelected|UIControlStateDisabled | 1 | 1 | 0 | 6 |
注意: 由于disabled状态下按钮不能被点击,因此disabled状态下没有高亮状态,所以就没有UIControlStateDisabled|UIControlStateHighlighted和UIControlStateSelected|UIControlStateDisabled|UIControlStateHighlighted状态了。
selected、enabled和highlighted三个属性与UIButton状态对应如下:
- | selected | enabled | highlighted |
---|---|---|---|
UIControlStateNormal | 0 | 1 | 0 |
UIControlStateHighlighted | 0 | 1 | 1 |
UIControlStateDisabled | 0 | 0 | 0 |
UIControlStateSelected | 1 | 1 | 0 |
UIControlStateSelected|UIControlStateHighlighted | 1 | 1 | 1 |
UIControlStateSelected|UIControlStateDisabled | 1 | 0 | 0 |
在设置按钮样式的时候,可以根据以上的对应关系来设置按钮在各个状态下的样式。