Tengo el siguiente código en un viewController, todos los puntos de venta y la acción están conectados correctamente. el WHITE y PURPLE son UIColors que he definido las constantes. También he establecido el UIWindow‘s tintColor a PURPLE y que se propaga hacia el botón.

- (void)viewDidLoad {
    [super viewDidLoad];
    [button setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted];
    button.backgroundColor = WHITE;
    button.layer.borderWidth = 1.0;
    button.layer.masksToBounds = YES;
    button.layer.cornerRadius = 5.0;
    button.layer.borderColor = PURPLE.CGColor;
}

-(IBAction) buttonTouchDown:(id)sender {
    button.backgroundColor = PURPLE;
    button.layer.borderColor = WHITE.CGColor;
}

-(IBAction) buttonTouchUpOutside:(id)sender {
    button.backgroundColor = WHITE;
    button.layer.borderColor = PURPLE.CGColor;
}

-(IBAction) buttonTouchUpInside:(id)sender {
    button.backgroundColor = WHITE;
    button.layer.borderColor = PURPLE.CGColor;
}

Cuando hago clic en el botón, el texto no va de blanco como les dije en el viewDidLoad

aquí hay algunas capturas de pantalla que podría haber recortado mejor!
Como se puede ver en el estado destacó que no es blanco, sino como un blanco y morado de la mezcla.
Voy a necesitar para el uso UIButtonTypeCustom? Escuché que si hago lo que no voy a obtener las ventajas de iOS 7 hace su magia con tintColor. No está seguro de cuál es la manera correcta de ir sobre esto. Gracias de antemano.

conjunto color del título para UIButton cuando resaltado de iOS 7
conjunto color del título para UIButton cuando resaltado de iOS 7

  • Se intenta -setTitleShadowColor?
  • Su Pregunta, contesta a mi pregunta

2 Comentarios

  1. 61

    ¿No deberías estar usando UIControlStateSelected?

    Bueno, acabo de probar esto a mí que no quieren trabajar bien.

    Que usted necesita para establecer su estilo de botón Personalizado. El UIButton sistema de estilo de hace un montón de cosas que no puedes cambiar. El resaltado estado de botón valores predeterminados para su propia ejecución, que es una versión más ligera si su tintcolor.

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setTitleColor:self.view.tintColor forState:UIControlStateNormal];
    [button setTitleColor:[UIColor whiteColor] forState:UIControlStateSelected];

    Que debería obtener el texto en blanco de fondo.

    • No es necesario el uso de UIControlStateSelected porque UIButton no tiene ese estado. UIControlStateSelected es para cosas como la ficha seleccionada de una UISegmentedControl.
    • por favor, tenga en cuenta que UIButton, UISegmentedControl y otros UIKit clases heredan fuera de UIControl que ha estado seleccionado. Tanto la Interfaz del Generador de código y el apoyo visual de los cambios realizados mediante UIControlStateSelected UIControlStateDisabled, etc. Gran cosa acerca de UIControl de propiedad seleccionada está llamando isSelected desde el botón y permitiendo que el botón de la manija de la propiedad booleana.
    • Botón de ajuste de estilo Personalizado trabajado para mí! Gracias!
  2. -1

    La esperanza de que esta es la respuesta de la pregunta o alguien sigue encontrando dificultades para establecer el título del color al botón seleccionado.

    [btnCustom setTitleColor:[UIColor whiteColor] forState: UIControlStateSelected];
    [btnCustom setTitleColor:[UIColor redColor] forState: UIControlStateNormal];

    cuando desea título del botón de coloe rojo que hacer btnCustom.seleccionado = NO y si desea que el botón con el blanco de título de color que hacer btnCustom.seleccionado = SÍ

    • Parece que esto es sólo una copia de una respuesta de 3 años antes.

Dejar respuesta

Please enter your comment!
Please enter your name here