Objective-Cに触れて2年半経とうとしているのに、今更知った事を公開!
UIButtonのControlStateです。
公式によりますと、
enum {
UIControlStateNormal = 0,
UIControlStateHighlighted = 1 << 0,
UIControlStateDisabled = 1 << 1,
UIControlStateSelected = 1 << 2,
UIControlStateApplication = 0x00FF0000,
UIControlStateReserved = 0xFF000000
};
とあります。
上から、通常、ハイライト(押下中)、使用不可、選択中、アプリで使用できるフラグ、システム予約となっています。
さて、選択中のボタンを押しているとき、ControlStateはどうなるでしょう?
正解は、
UIControlStateHighlighted | UIControlStateSelected
です!!
いやぁ...なんかUIControlStateHighlightedのイメージに切り替わらないなぁと思ってたことがあったのですが、こういうことだったのですね。公式見て、シフトした値を定数値にしているのに気づいてあっと思いました。ちゃんと公式みないとダメですね。(笑
それにしても、なんて今更感!!(グハァ!