Sé que esta es una pregunta anterior, pero estas respuestas no son correctas.
Al configurar cada uno por separado que están diciendo la propiedad state
debe ser UIControlStateHighlighted
O UIControlStateDisabled
pero no ambos
Cuando bit a bit o juntas están indicando que ambos deben establecerse en la propiedad state
. Significado UIControlStateHighlighted
AND UIControlStateDisabled
se establecen en la propiedad state
.
El siguiente código de ejemplo ilustra perfectamente mi punto. Si no está de acuerdo, ejecútelo usted mismo.
[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
Guau, eso parece extraño que no funcione. +1 – BoltClock
Observe que el nombre del método solo menciona un 'estado:' no 'estados:' singular. – Jasarien
@Jasarien no deberían usar máscaras de bits entonces – bioffe