Изображение не подходит для рамки UIImageView
Я создаю UIImageView
с помощью интерфейса Builder. Его размер кадра (320,67).
Я хочу отобразить изображение на изображении. Я получаю изображение из Интернета. Проблема в том, что изображение, полученное из Интернета, растянуто для отображения на изображении...
Здесь мой код
NSData *imageData=[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.isco.com/webproductimages/appBnr/bnr1.jpg"]];
imageView.image = [UIImage imageWithData:imageData];
Кто-нибудь может мне сказать, как отображать изображение, подходящее для отображения на imageView????
Ответы
Ответ 1
Используйте
imageView.contentMode = UIViewContentModeScaleAspectFill;
или
imageView.contentMode = UIViewContentModeScaleAspectFit;
Первый заполняет рамку, возможно, отсекая части вашего изображения. Второй будет отображать все изображение, возможно, оставляя области кадра открытыми.
Ответ 2
Для Swift:
imageView.contentMode = UIViewContentMode.ScaleAspectFit
Для Objective-C:
imageView.contentMode = UIViewContentModeScaleAspectFit
Параметр ScaleAspectFit используется для масштабирования содержимого, чтобы он соответствовал размеру представления, поддерживая соотношение сторон. Любые остальные области границ представлений прозрачны.
![Снимок экрана]()
Подробнее см. Apple docs.
Ответ 3
В результате я изменил размер изображения после масштабирования изображения в соответствии с его соотношением сторон.
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)
Ответ 4
Попробуйте этот код.
imView.contentMode = UIViewContentModeScaleAspectFit;