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
risposta
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.
+1 'UIButton.buttonType' è una proprietà di sola lettura. Se è necessario modificare il tipo di pulsante, è necessario creare un nuovo pulsante. –
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
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
Non so se sarò di grande aiuto, ma per me ha funzionato facendo:
button = [UIButton buttonWithType:(UIButtonType)];
esempio:
calculateButton = [UIButton buttonWithType: UIButtonTypeRoundedRect];
Ciò perderà il riferimento al pulsante già allocato. –
@PatrickBassut che è un punto valido, e penso che potrebbe essere risolto il mio nil: il vecchio pulsante (correggimi se ho torto) – JomanJi
magari fare un nuovo pulsante, e scambiare ? –