我有一个显示图像的UIScrollView。我想以编程方式放大到当前可见区域中心附近的某个地方(不一定要精确)。如何获得此rect的坐标以与zoomToRect一起使用?请注意,此图像可能已经放大,只显示了scrollView内容区域的一小部分。
答案 0 :(得分:1)
该图像的X和Y位置相对于滚动视图的contentSize
。屏幕上显示的区域由滚动视图contentOffset
定义。
然后,您可以在屏幕上显示滚动视图的位置以及屏幕上选择矩形的位置。
最后,您需要使用上述值对X和Y进行相当简单的数学运算(一些加法/减法)。
答案 1 :(得分:0)
抓住UIImageView
' frame
并致电insetBy(dx:dy:)
:
返回一个小于或大于源的矩形 矩形,具有相同的中心点。
这是PlayGround中的快速可视化:
let blueSquare = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 300))
let yellowSquare = UIView(frame: blueSquare.frame.insetBy(dx: 100, dy: 100))
blueSquare.backgroundColor = .blue
yellowSquare.backgroundColor = .yellow
blueSquare.addSubview(yellowSquare)
会导致这个: