繁体   English   中英

UIScrollView缩放时滚动到矩形?

[英]Scrolling to a rect when UIScrollView is zoomed?

我有一个UIImageView与UIScrollView内的图像(地图)。 我将另一个图像(标记)添加到图像视图(所以地图背景和标记)。 如果屏幕上没有显示标记,当我放置标记时,我想滚动显示标记。

我将标记放在地图上后,我正在使用[scrollView scrollRectToVisible:rect animated:YES] 当滚动视图未缩放时,这非常有用。 如何根据缩放比例调整rect ,使标记在视图中居中?

我做我目前正在对应用程序非常类似的东西,但不是使用-scrollRectToVisible ,我用-setContentOffset

因为我知道我的标记在框架中的位置,所以我可以很容易地计算出它的中心,我将其保存为CGFloats centerXcenterY 然后我使用下面的代码将标记置于屏幕中心(我从Y值中减去161,因为我的主视图有一个标签栏和一个导航控制器,因此它不是完整的480点):

CGFloat curZoom = scrollView.zoomScale;

[scrollView setContentOffset:CGPointMake((centerX*curZoom)-160, (centerY*curZoom)-161) animated:NO];

通过将中心点乘以当前的zoomScale,无论缩放级别如何,我都能找到正确的中心点。

我的标记是UIImageView的子视图,它包含我的地图。 听起来你是以同样的方式做到这一点,所以我想这个(或类似的东西)应该适合你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM