Как получить фактическую высоту изображения, занятого в просмотре изображения для подгонки аспекта

Я хотел бы изменить высоту просмотра изображения в зависимости от того, сколько высоты занимает изображение в режиме просмотра изображения.

Я использую контентный режим Aspect Fit

Есть идеи, как это сделать?

2 ответа

Решение

Для меня:

let image: UIImage = UIImage(named: "") 
print(image.size) // 400x400 
let scaleFator = UIScreen.main.scale //3 
let height = image.size.height / scaleFator ///here the actual height of image.

Если вы хотите, чтобы ваше изображение заполняло весь вид изображения и имело ограничение только на ширину этого вида изображения, тогда должен помочь следующий код:

let imageView: UIImageView = ...
let image: UIImage = ...
let imageSize = image.size
let scaleFactor = imageSize.height / imageSize.width
let imageViewHeight = imageView.bounds.width * scaleFactor

Если вы используете макет на основе ограничений, вам даже не понадобится imageViewHeight - вы можете использовать рассчитанный scaleFactor, чтобы установить соответствующее ограничение для высоты imageView.

Другие вопросы по тегам