UIScrollView缩放到图像的特定区域

问题描述

修改问题

在xib中,我具有当前层次结构:

  • UIView(containerScroller)
    • UIScrollView(imageScroller)
      • UIView(imageContainer)
        • UIImageView(图像)

由于某种原因,我在开始操作图像和滚动视图之前先检查UIScreen.main.scale,并且在iPhone 8 Plus / 11 Pro Max中它可以正常工作(3倍显示)。但是在其他iPhone(2英寸显示屏)中,它无法正常工作。

这就是我要做的:

let imageSize: Double = Double(AppConstants.Data.ImageSize.width)
let zoomScale = imageSize / self.question.zoomScale
let origImageSize = Float(imageSize) // 1200
let relativeFactor = Float(self.imageScroller.frame.size.width) / Float(UIScreen.main.bounds.width)
let widthForScroller = Float(UIScreen.main.bounds.width) * relativeFactor
let delta: Double = Double(widthForScroller / origImageSize)
let zoomTo = CGRect(x: (zoomPropsX * delta),y: (zoomPropsY * delta),width: (imageSize * delta) / zoomScale,height: (imageSize * delta) / zoomScale)

它给我错误的图像位置。如何将比例因子添加到计算中以使其正常工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)