これは古い質問ですが、これらの回答は正しくありません。あなたは個別に設定すると
あなたはstate
プロパティは、あなたが一緒にビット単位のORそれらときあなたは、彼らがstate
プロパティに設定する必要がありますBOTH明記されているUIControlStateHighlighted
OR UIControlStateDisabled
ではなく、両方
べきであると言っています。意味UIControlStateHighlighted
およびUIControlStateDisabled
はstate
プロパティで設定されます。
以下のサンプルコードは、私の要点を完全に示しています。あなたがそれに同意しない場合は、それを自分で実行してください。
[button setTitle:@"highlighted and selected" forState:UIControlStateHighlighted | UIControlStateSelected];
[button setTitle:@"Highlighted only" forState:UIControlStateHighlighted];
[button setTitle:@"Selected only" forState:UIControlStateSelected];
[button setTitle:@"Normal" forState:UIControlStateNormal];
NSLog(@"Normal title: %@", [[button titleLabel] text]); // prints title: Normal
[button setSelected:YES];
NSLog(@"Selected title: %@", [[button titleLabel] text]); // prints title: Selected only
[button setSelected:NO];
[button setHighlighted:YES];
NSLog(@"highlighted title: %@", [[button titleLabel] text]); // prints title: Highlighted only
[button setSelected:YES];
NSLog(@"highlighted and selected title: %@", [[button titleLabel] text]); // prints title: highlighted and selected
うわー、それはうまくいかないようです。 +1 – BoltClock
メソッド名には、単なる '状態:' not: 'states:'ではないことに注意してください。 – Jasarien
@Jasarienビットマスクを使用しないでください。 – bioffe