gpt4 book ai didi

ios - 使用 scrollView 和 imageView 的 bounds.height 属性计算 zoomScaleForHeight

转载 作者:搜寻专家 更新时间:2023-11-01 06:37:50 26 4
gpt4 key购买 nike

目前正在学习ios中的坐标系,遇到过如下代码

let zoomScaleForHeight = scrollView.bounds.height / imageView.bounds.height
let zoomScaleForWidth = scrollView.bounds.width / imageView.bounds.width

scrollView.minimumZoomScale = min(zoomScaleForHeight, zoomScaleForWidth)

imageViewscrollView 的 subview 。

我不确定它在计算什么以及它是如何计算的。有人可以阐明这三行代码背后的逻辑吗?

最佳答案

minimumZoomScale 表示需要将图像调整到的系数,以便在不裁剪任何边缘的情况下完美适合屏幕。这是代表场景的图像: Scaling the image

通过将 UIScrollView 的宽度/高度除以 UIImageView 的宽度/高度来计算比例。如果我们现在将 UIImageView 的宽度乘以它的比例因子,我们将得到与 UIScrollView 相同的宽度,这正是我们想要完成的。高度也是如此。

这张图片展示了需要 min() 函数的原因: Wrong Scale

在此示例中,仅应用高度比例,不考虑宽度比例。通过这样做,图像在高度上完全适合,但在宽度上却不适合。因此,必须计算两个比例,并使用较小的比例,以便在不裁剪边缘的情况下拟合图像。

关于ios - 使用 scrollView 和 imageView 的 bounds.height 属性计算 zoomScaleForHeight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39381652/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com