2010-06-20 14 views
19

Tengo una UIButton la que he añadido en el IB, sin embargo la vista detrás de este botón cambia de color y tengo que cambiar el tipo de botón entre InfoDark y Infolight. Extrañamente, la propiedad buttonType es de solo lectura. Entonces, ¿cómo puedo cambiar entre los botones de información clara y oscura?conjunto ButtonType de UIButton programación

+0

Esto no es un duplicado. Esta pregunta se trata de cambiar el tipo de botón después de que se crea una instancia. La pregunta a la que se hace referencia es sobre cómo crear una instancia del botón en el código. Por favor, elimine la duplicación. – osxdirk

Respuesta

23

No hay forma de cambiar el .buttonType una vez que está configurado.

Puede preparar dos botones, y ocultar uno de ellos dependiendo del color de fondo.

+0

bien, aparentemente hay un método de establecimiento privado, por el cual algo así es privado, quién sabe. Gracias por tu idea sobre 2 botones, eso es lo que haré. –

+0

@Jon: es privado porque al configurar esto * no * convertirá un botón de información oscura en uno liviano. – kennytm

51

No se puede establecer la propiedad de sólo lectura ButtonType, utilice a continuación pueden ayudar:

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; 
+0

Gracias, ese me ayudó. – James

+9

¿Qué sucede cuando anulas la clase UIButton? (Me refiero a la subclase) –

+0

In swift, Si está utilizando la clase custome entonces, let button = MyCustomeClass.init (type: .custom) –

Cuestiones relacionadas