ios - 如何获取 ImageView 中图像的实际高度以进行纵横比匹配

标签 ios uiimageview ios-autolayout aspect-fit

我想根据图像在 ImageView 中占据的高度来改变 ImageView 的高度。

我正在使用内容模式 Aspect Fit

关于如何做到这一点有什么想法吗?

最佳答案

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

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

关于ios - 如何获取 ImageView 中图像的实际高度以进行纵横比匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50926970/

相关文章:

ios - anchor 在 Collection View 单元格布局中不起作用

ios - 我如何从 viewdidload 函数中的 GET 请求函数快速排列

ios - 将 func 作为参数 Swift 传递

ios - 重新加载 View Controller 并以编程方式更改 UIImageView 约束

ios - Storyboard中的奇怪行为(运行应用程序时缺少 View )

ios - 无法同时满足 UITextField 的约束

ios - 如何在 ios 中使用 Web 服务获取声音数据?

ios - 用动画填充完整 UIImage 的 UIImageView 百分比

iphone - 图像不适合 UIImageView 的框架

ios - 从 UITapGestureRecognizer 中查找被点击的 UIImageview