it-swarm.com.ru

Изображение не вписывается в кадр UIImageView

Я создаю UIImageView, используя интерфейс Builder. Его размер кадра (320,67) . Я хочу отобразить изображение в imageView. Я получаю изображение из Интернета. Проблема в том, что изображение, полученное из Интернета, растягивается для отображения на изображении .... Вот мой код 

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

Может кто-нибудь сказать мне, что, как отобразить изображение подходит для отображения на imageView ???? 

12
Venk

Либо использовать

imageView.contentMode = UIViewContentModeScaleAspectFill;

или же

imageView.contentMode = UIViewContentModeScaleAspectFit;

Первый заполнит кадр, возможно, обрезая части вашего изображения. Второй покажет все изображение, возможно, оставляя открытыми области кадра. 

33
mvds

Для Swift:

imageView.contentMode = UIViewContentMode.ScaleAspectFit

Для Objective-C:

 imageView.contentMode = UIViewContentModeScaleAspectFit

Параметр ScaleAspectFit используется для масштабирования содержимого в соответствии с размером представления путем сохранения соотношения сторон. Все остальные области границ представления являются прозрачными.

 Screenshot

Обратитесь к Apple Docs для деталей.

6
Jayprakash Dubey

В итоге я изменил размер изображения после того, как изображение было масштабировано в соответствии с его соотношением сторон.

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)
2
Speakeasys

Попробуйте этот код.

imView.contentMode = UIViewContentModeScaleAspectFit;
0
Nag Raj