Я знаю, что это старый вопрос, но эти ответы неверны.
При установке каждого отдельно вы говорите, что state
имущество должно быть UIControlStateHighlighted
ИЛИ UIControlStateDisabled
, но не оба
Когда вы побитовое или их вместе, вы заявляете, что они оба должны быть установлены в state
собственности. Значение 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 2010-12-06 20:17:16
Обратите внимание, что имя метода упоминает только сингулярное состояние: `not` states: `. – Jasarien 2010-12-06 20:34:29
@Jasarien им не следует использовать битмаски, то – bioffe 2010-12-06 20:36:41