2011-05-06 13 views

Respuesta

4

La diferencia está en el encuadre

que voy a explicar con la ayuda de ejemplo, supongamos que el tamaño de la imagen es de 40 * 40 y el marco de botón es de 20 * 20, entonces si se utiliza setBackgroundImage: forState: Método de la imagen se mostrará en un marco de 20 * 20 y si usa el método setImage: forState: verá un botón con un tamaño de imagen de 40 * 40. Esta es la diferencia.

Happy Coding !!

+0

Gracias, Jenifer, házmelo saber cómo cambia el marco utilizando estos métodos. – shashoukou

19
  1. setImage:forState: establece la imagen como el contenido real del botón. Por ejemplo, no puede ver el botón titulo aunque lo haya configurado, porque ha configurado una imagen como contenido.

  2. setBackgroundImage:forState: establece la imagen como fondo. En este caso, puede establecer el título y se muestra en la parte superior de la imagen.

+0

Gracias, Simon, me dejas saber la relación entre el título y la imagen en cada uno de los métodos. – shashoukou

+0

@shashoukou: Como mencioné anteriormente, si usa el método 'setImage: forState:' no puede establecer el título para el botón (no estará visible). Pero, si usa 'setBackgroundImage: forState:' puede establecer el título y será visible. – EmptyStack

8

setBackgroundImage: sigue el marco, es decir, si cambia el marco, la imagen de fondo se estira o se encoge con ella. Contrariamente a setImage, no es lo mismo. La imagen toma su propio tamaño. En setImage, la imagen es el contenido real del botón.

Cuestiones relacionadas