Как получить фактическую высоту изображения, занятого в просмотре изображения для подгонки аспекта
Я хотел бы изменить высоту просмотра изображения в зависимости от того, сколько высоты занимает изображение в режиме просмотра изображения.
Я использую контентный режим 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.