0

我想根据图像在 imageview 中所占的高度来更改 imageview 的高度。

我正在使用内容模式Aspect Fit

关于如何做到这一点的任何想法?

4

2 回答 2

1

如果您希望图像填充整个图像视图并且仅对该图像视图的宽度有限制,那么以下代码应该会有所帮助:

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 的高度设置相应的约束

于 2018-06-19T12:47:40.443 回答
0

为了我 :

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.
于 2018-06-19T11:44:58.950 回答