Ответ 1
Я знаю, что это старый вопрос, но эти ответы неверны.
Когда вы устанавливаете каждый отдельно, вы говорите, что свойство 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