2010-06-20 13 views
19

Ho un UIButton che ho aggiunto in IB, tuttavia la vista dietro questo pulsante cambia colore e ho bisogno di cambiare il tipo di tasto tra InfoDark e Infolight. Stranamente, la proprietà buttonType è di sola lettura. Quindi, come posso passare tra i pulsanti di informazioni chiare e scure?set ButtonType di UIButton programmazione

+0

Questo non è un duplicato. Questa domanda riguarda la modifica del tipo di pulsante dopo la sua istanziazione. La domanda di riferimento è su come istanziare il pulsante nel codice. Si prega di rimuovere la duplicazione. – osxdirk

risposta

23

Non è possibile modificare .buttonType dopo averlo impostato.

È possibile preparare i tasti e nasconderne uno a seconda del colore di sfondo.

+0

a quanto pare c'è un metodo di setter privato, dal motivo per cui qualcosa del genere è privato chissà. Grazie per l'idea di 2 pulsanti, è quello che farò. –

+0

@Jon: È privato perché l'impostazione * non * converte un pulsante scuro delle informazioni in uno chiaro. – kennytm

51

Non è possibile impostare ButtonType sola lettura proprietà, utilizzare di seguito può aiutare:

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

Grazie, quello mi ha aiutato. – James

+9

Cosa succede quando si sostituisce la classe UIButton? (Intendo sottoclasse) –

+0

In modo rapido, se si sta utilizzando la classe Custome, quindi button = MyCustomeClass.init (type: .custom) –

Problemi correlati