Как управлять режимом содержимого UIImageView?
У меня есть UIImageView с некоторым фиксированным размером прямоугольника. Но мои изображения не фиксированы по размеру. Я хочу отображать изображения в соответствии с размером UIImageView rect. Является ли изображение большим или большим в разрешении, оно должно быть в фиксированном виде в соответствии с размером UIImageView. Я запутался в использовании ниже активов.
UIViewContentModeScaleToFill,
UIViewContentModeScaleAspectFit,
UIViewContentModeScaleAspectFill,
UIViewContentModeRedraw
Что нужно установить в маске авторазмера?
Как они себя ведут?
Ответы
Ответ 1
Пожалуйста, попробуйте этот код, надеюсь, он будет работать для вас.
установите UIImageView
contentMode
в UIViewContentModeScaleAspectFill
, как показано ниже:
imageView.contentMode = UIViewContentModeScaleAspectFill;
установить autoresizingMask из UIImageView, как показано ниже:
imageView.autoresizingMask =
( UIViewAutoresizingFlexibleBottomMargin
| UIViewAutoresizingFlexibleHeight
| UIViewAutoresizingFlexibleLeftMargin
| UIViewAutoresizingFlexibleRightMargin
| UIViewAutoresizingFlexibleTopMargin
| UIViewAutoresizingFlexibleWidth );
Ответ 2
Здесь решение для быстрого:
let imageView = UIImageView(image: UIImage(named: "backgroundImage"))
imageView.frame = tableView.frame
imageView.contentMode = .ScaleAspectFill
tableView.backgroundView = imageView
Ответ 3
Если вы хотите сделать свой размер UIImageView
в соответствии с соотношением, то вы должны установить его в режим UIViewContentModeScaleAspectFit
yourimage.contentMode=UIViewContentModeScaleAspectFit;
сообщите мне, что это работает или нет!!!
Счастливое кодирование.
Ответ 4
В быстром режиме вы также устанавливаете режим контента
var newImgThumb : UIImageView
newImgThumb = UIImageView(frame:CGRectMake(0, 0, 100, 70))
newImgThumb.contentMode = .ScaleAspectFit
Ответ 5
Стоит отметить, что swift 3 изменился следующим образом
. ScaleAspectFit
до ScaleAspectFit
. ScaleAspectFill
to. ScaleAspectFill
Ответ 6
Надеюсь, что это поможет вам.
CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect);
image = [UIImage imageWithCGImage:imageRef]];
CGImageRelease(imageRef);
Ответ 7
Вам просто нужны эти две строки:
imageView.contentMode = UIViewContentModeScaleAspectFill;
imageView.layer.clipsToBounds = YES; // Must do this or else image will overflow