2011-11-12 1 views
5

Ho un UIButton fatto con IB, è impostato su "Rounded Rect". A un certo punto, mi piacerebbe cambiare il tipo in "Personalizzato" nel codice, è possibile? Ho visto che il tipo può essere impostato alla creazione, ma non ha visto se fosse possibile modificarlo in seguito.Cambia tipo UIB al livello di programmazione

+1

magari fare un nuovo pulsante, e scambiare ? –

risposta

9

Se non sbaglio, diversi tipi di pulsante sono rappresentati da sottoclassi (private) differenti di UIButton. Ecco perché puoi impostare il tipo solo al momento della creazione ma non dopo.

+2

+1 'UIButton.buttonType' è una proprietà di sola lettura. Se è necessario modificare il tipo di pulsante, è necessario creare un nuovo pulsante. –

+0

Ok, ho creato un solo pulsante con tipo Personalizzato e ho aggiunto un'immagine personalizzata predefinita che ho modificato in seguito. Grazie per l'aiuto. – Luc

+0

Quindi, se voglio creare una sottoclasse UIButton, allora come impostare un tipo all'interno di questa classe? buttonWithType: non è una soluzione per questo caso – user2083364

2

Non so se sarò di grande aiuto, ma per me ha funzionato facendo:

button = [UIButton buttonWithType:(UIButtonType)]; 

esempio:

calculateButton = [UIButton buttonWithType: UIButtonTypeRoundedRect]; 
+2

Ciò perderà il riferimento al pulsante già allocato. –

+1

@PatrickBassut che è un punto valido, e penso che potrebbe essere risolto il mio nil: il vecchio pulsante (correggimi se ho torto) – JomanJi