Подтвердить что ты не робот

Как управлять режимом содержимого UIImageView?

У меня есть UIImageView с некоторым фиксированным размером прямоугольника. Но мои изображения не фиксированы по размеру. Я хочу отображать изображения в соответствии с размером UIImageView rect. Является ли изображение большим или большим в разрешении, оно должно быть в фиксированном виде в соответствии с размером UIImageView. Я запутался в использовании ниже активов.

UIViewContentModeScaleToFill,
UIViewContentModeScaleAspectFit,
UIViewContentModeScaleAspectFill,
UIViewContentModeRedraw

Что нужно установить в маске авторазмера? Как они себя ведут?

4b9b3361

Ответ 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