2010-07-09 16 views
7

En IB tengo una vista con una UIButton de tipo personalizado, que no tiene ninguna imagen y el título se fija como "#placeholder"Detención de un encargo UIButton restablecer TitleLabel a los valores de IB en el evento de disparo

Se adjunta la vista a una clase que proporciona un IBOutlet y un IBAction para el botón.

Establecí el título del botón con esto: ViewClass.ButtonOutlet.titleLabel.text = @"%@",stringifiedVariable; cada vez que lo necesito.

Esto funciona bien. Sin embargo, cuando hago clic en el botón, titleLabel.text vuelve a ser "#placeholder".

He intentado desmarcar 'Imagen de ajuste resaltada' en la sección Dibujo (pestaña de atributos) en el Inspector pero el comportamiento sigue siendo el mismo.

¿Se puede evitar este cambio? o hay un mejor patrón que debería estar usando?

Respuesta

12

UIButton tiene un método especial para configurar la etiqueta.

  • (void) setTitle: (NSString *) Título forState: (UIControlState) Estado

Por ejemplo

NSString *buttonText = [NSString stringWithFormat:@"%@",stringifiedVariable]; 
[ViewClass.ButtonOutlet setTitle:buttonText forState:UIControlStateNormal]; 

verifique la documentación para más detalles.

+0

Gracias por la respuesta rápida –

0

Si desea que el texto no cambie al hacer clic en él, la forma más sencilla es quitar el título del botón en IB y luego utilizar el método setTitle: forState: de Jongsma.

+0

Intenté esto originalmente; el botón no mostró ningún texto en absoluto –

Cuestiones relacionadas