Я знаю, что это старый вопрос, но эти ответы не верны.
Когда вы устанавливаете каждый по отдельности, вы говорите, что свойство state
должно быть UIControlStateHighlighted
ИЛИ UIControlStateDisabled
, но НЕ оба
Когда вы поразрядно или их вместе, вы заявляете, что они ОБАустановить в свойстве state
.Значение UIControlStateHighlighted
AND 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