2010-08-03 12 views
6

Estoy tratando de estirar una imagen en un UIImageView - pero fallan miserablemente :)UIImageView con stretchableImageWithLeftCapWidth no se estira la imagen

siguiente configuración:

SEMILLA-File con una vista y un UIImageView adjunta a esta vista

Conectado a mi clase usando IBOutlet UIImageView *background.

Ahora, en mi clase me pruebe lo siguiente:

UIImage *bgImage = [[UIImage imageNamed:@"myImage.png"] stretchableImageWithLeftCapWidth:0 topCapHeight:50]; 
[background setImage: bgImage]; 

bgFrame = CGRectMake(0, 0, 250, 200); 
background.frame = bgFrame; 

que debe estirar la imagen verticalmente - al menos, eso es lo que pensaba. Por desgracia, no está funcionando ... :(

La imagen que estoy usando tiene una altura de 115px (que debería ser suficiente para el tramo, supongo?)

Respuesta

16

¡Gracias ... (interesante que esto sucede a menudo sólo segundos después de hacer la pregunta)

en IB, tenía que establecer el modo en el UIImageView a «escala para llenar» y establecer la propiedad AUTORESIZE-

Eso es lo que resuelve el problema ...

Espero que ayude a alguien;)

+1

Sí, esto me ayudó. Gracias por publicar su solución. Esto solo debe estar ocurriendo en las nuevas versiones de iOS ya que nunca experimenté el problema en versiones anteriores. También márquelo como la respuesta :) – Luke

1

veces depende del archivo, sin embargo lo hice dos cosas para arreglarlo y no sé cual era la solución:

  • abierto y volver a guardar el archivo (No creo que esto hizo que el diferencia)
  • Crea el archivo file.png y [email protected] (De todos modos, esto siempre debe hacerse con imágenes elásticas)

Después de agregar el archivo @ 2x, la imagen se extendía correctamente.

+0

Estoy de acuerdo, los dispositivos Retina (y el simulador cuando se configuran en dispositivos Retina) no se estiran al volver a caer en un mapa de bits no retina. – Clafou

Cuestiones relacionadas