2012-09-15 12 views
11

Estoy creando el UIImageView usando el interfaz de generador. Su tamaño de marco es (320,67). Quiero mostrar la imagen en el imageView. Obtengo la imagen de la web. El problema es que la imagen obtener de banda se estira para mostrar en la imageview ... Aquí mi códigoLa imagen no se ajusta al marco de UIImageView

NSData *imageData=[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.isco.com/webproductimages/appBnr/bnr1.jpg"]]; 
imageView.image = [UIImage imageWithData:imageData]; 

Puede alguien tel mí que la forma de mostrar la imagen en condiciones de mostrar en imageView ????

Respuesta

29

ya sea para uso

imageView.contentMode = UIViewContentModeScaleAspectFill; 

o

imageView.contentMode = UIViewContentModeScaleAspectFit; 

El primero llenará el marco, posiblemente cortando partes de la imagen. El segundo mostrará la imagen completa, posiblemente dejando abiertas las áreas del marco.

+2

Swift3 ahora es imageView.contentMode = .scaleAspectFit o .scaleAspectFill – HFR1994

0

Pruebe este código.

imView.contentMode = UIViewContentModeScaleAspectFit; 
4

Para Swift:

imageView.contentMode = UIViewContentMode.ScaleAspectFit 

Para Objective-C: opción ScaleAspectFit

imageView.contentMode = UIViewContentModeScaleAspectFit 

es el uso de escalar el contenido para ajustarse al tamaño de la vista por manteniendo la relación de aspecto. Cualquier área restante de los límites de la vista es transparente.

Screenshot

Consulte Apple docs para más detalles.

1

Terminé cambiando el tamaño de la imagen después de que la imagen se escalara según su relación de aspecto.

let widthRatio = ImageView.bounds.size.width/(captureImageView.image?.size.width)! 
let heightRatio = ImageView.bounds.size.height/(captureImageView.image?.size.height)! 
let scale = min(widthRatio, heightRatio) 
let imageWidth = scale * (ImageView.image?.size.width)! 
let imageHeight = scale * (ImageView.image?.size.height)! 
ImageView.frame = CGRect(x: 0, y: 0, width: imageWidth, height: imageHeight) 
Cuestiones relacionadas