Swift/Math - 缩放时保持原点

Swift/Math - Maintain origin when scaling

我有一个 contentSize 为 (1300,800) 和 zoomScale 为 1.0 的 scrollView,我有一个 UIView 添加到该 scrollview,其原点 X: 600 Y: 400 UIView 位于 UIImageView 之上。

现在假设我缩小并且 zoomScale 现在为 0.9。我将 UIView 放置在 X: 600 和 Y: 400 处,因为当图像处于原始大小时它位于图像中特殊位置的顶部,但是当我缩小图像时,图像会缩放,现在 X: 600 和 Y : 400 不是应该放置 UIView 的地方。它应该跟随图像的大小调整。

正如您在下面看到的,盒子位于我放置它的位置。只要我不改变图像的大小,这就可以工作,但是当我放大 UIScrollView 时,图像正在缩放,并且 Origin X 和 Y 不再适合。

如何保持X位置和Y位置?因此,当我缩放图像时,盒子会改变它的 X 位置和 Y 位置,以便始终位于同一位置。

the UIView sits on top of an UIImageView

"Sit on top of" 不够。使红色视图(UIView)成为地图视图(UIImageView)的子视图

滚动视图通过对地图视图应用比例变换来缩放地图视图,并且该比例变换也将应用于地图视图的子视图。