2012-01-05 14 views
8

Ti prego, dimmi qual è la differenza tra i due metodi UIButton:differenza tra i metodi UIButton che impostano immagine

- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state 

e

- (void)setImage:(UIImage *)image forState:(UIControlState)state 

documentazione Apple dice nulla al riguardo.

+0

Eventualmente l'immagine di sfondo può essere sovrapposta a un'immagine trasparente ... ma questa è solo un'idea. – evotopid

risposta

12

setBackgroundImage imposta l'immagine di sfondo del pulsante. In genere lo usi in combinazione con un pulsante di tipo "Personalizzato" per utilizzare l'immagine di sfondo come una bella forma e sfondo per il pulsante (ad esempio un'immagine che rappresenta un rettangolo con angoli arrotondati e riempito con un gradiente gradevole)

setImage aggiunge un'immagine/icona accanto al titolo del pulsante, (tutti i quali, immagine e titolo, sono sovrapposti sull'immagine di sfondo, ovviamente, per questo motivo si chiama "sfondo" dopo tutto). Se si imposta anche un titolo sul pulsante, l'immagine verrà disegnata accanto al titolo e la sua posizione dipenderà dalla lunghezza del titolo (e anche dalle proprietà titleContentInsets/imageContentInsets per regolare questa posizione)

Basta provarlo in Interface Builder (imposta un'immagine per entrambi, divertiti impostando un titolo, ecc.) Lo capirai più facilmente.

+0

Grazie mille, la spiegazione è abbastanza chiara :) – Stas

Problemi correlati