2012-01-05 10 views
8

Por favor, dime cuál es la diferencia entre los dos métodos UIButton:diferencia entre los métodos que establecen UIButton imagen

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

y

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

documentación de Apple no dice nada al respecto.

+0

Eventualmente la imagen de fondo puede ser superpuesta por una imagen transparente ... pero esto es solo una idea. – evotopid

Respuesta

12

setBackgroundImage establece la imagen de fondo del botón. Normalmente, utiliza esto junto con un botón del tipo "Personalizar" para utilizar la imagen de fondo como una buena forma y fondo para el botón (digamos una imagen que representa un rectángulo con esquinas redondeadas y relleno con un bonito degradado)

setImage agrega una imagen/icono al lado del título del botón, (todos los cuales, imagen y título, se superponen sobre la imagen de fondo, por supuesto, es por eso que se llama "fondo" después de todo). Si también configura un título para su botón, la imagen se dibujará al lado del título y su posición dependerá de la longitud del título (y también de las propiedades titleContentInsets/imageContentInsets para ajustar esta posición)

Solo pruébelo Interface Builder (establecer una imagen para ambos, jugar al establecer un título, etc.) lo entenderá más fácil.

+0

Muchas gracias, la explicación es bastante clara :) – Stas

Cuestiones relacionadas