2011-11-12 16 views
5

Tengo un UIButton hecho con IB, se establece en "Rect redondeado". En un momento dado, me gustaría cambiar el tipo a "Personalizado" en el código, ¿es posible? Vi que el tipo se puede establecer en la creación, pero no vi si era posible cambiarlo más adelante.Cambiar UIButton tipo programáticamente

+1

tal vez hacer un nuevo botón, y cambiarlos ? –

Respuesta

9

Si no me equivoco, los diferentes tipos de botones están representados por diferentes subclases (privadas) de UIButton. Es por eso que solo puede establecer el tipo en el momento de la creación, pero no después.

+2

+1 'UIButton.buttonType' es una propiedad de solo lectura. Si necesita cambiar el tipo de botón, entonces necesita crear un nuevo botón. –

+0

Ok, solo he creado un botón con Tipo personalizado y he agregado una imagen personalizada predeterminada que posteriormente cambiaré programáticamente. Gracias por tu ayuda. – Luc

+0

Entonces, si quiero crear una subclase UIButton, ¿cómo establecer un tipo dentro de esta clase? buttonWithType: no es una solución para este caso – user2083364

2

No sé si seré de mucha ayuda, pero para mí trabajé haciendo:

button = [UIButton buttonWithType:(UIButtonType)]; 

ejemplo:

calculateButton = [UIButton buttonWithType: UIButtonTypeRoundedRect]; 
+2

Eso perderá la referencia al botón ya asignado. –

+1

@PatrickBassut ese es un punto válido, y creo que se podría arreglar mi nil: ing el botón anterior (corríjanme si estoy equivocado) – JomanJi

Cuestiones relacionadas