今天做一个按钮的时候,要这种效果:有几个按钮,titleColor都是白色(有一个默认的红色),点击任意一个按钮title变红色并保持,其他按钮都是白色,以此类推,每点击另一个按钮,就变成红色,前一个红色按钮变回白色。
功能很快就实现了,但是碰到了以下疑问:
当我当前选中的按钮为buttonA时,再点击这个按钮buttonA,按钮的颜色会在点击的时候变回白色,松开鼠标又变回了红色。
尝试了我了解的很多方法但是并没什么卵用,在网上查询了一下发现原来是自己对button状态的理解存在问题。
原来UIControlStateSelected | UIControlStateHighlighted 和 UIControlStateSelected 是两种不同的状态, 在isSelected状态时再点击按钮就变成了UIControlStateSelected | UIControlStateHighlighted的状态.我前面一直自顾自以为前面的状态包含了后面这种状态,都没想到把两个方法放在一起试.总结一下方法就是,设置成在这两种情况下的颜色都为红色,问题解决.
记录一笔。