jmo*_*man 6 iphone zooming uiscrollview ios4
我有一个UIImageView,在UIScrollView中有一个图像(map).我将另一个图像(标记)添加到图像视图(所以地图背景和标记).如果屏幕上没有显示标记,当我放置标记时,我想滚动显示标记.
我[scrollView scrollRectToVisible:rect animated:YES]将标记放在地图上后我正在使用.当滚动视图未缩放时,这非常有用.如何rect根据缩放比例进行调整,使标记在视图中居中?
Kat*_*ish 12
我在目前正在处理的应用程序中做了类似的事情,但-scrollRectToVisible我没有使用,而是使用-setContentOffset.
因为我知道我的标记在框架中的位置,所以我可以很容易地计算出它的中心,我将其保存为CGFloats centerX和centerY.然后我使用下面的代码将标记置于屏幕中心(我从Y值中减去161,因为我的主视图有一个标签栏和一个导航控制器,因此它不是完整的480点):
CGFloat curZoom = scrollView.zoomScale;
[scrollView setContentOffset:CGPointMake((centerX*curZoom)-160, (centerY*curZoom)-161) animated:NO];
Run Code Online (Sandbox Code Playgroud)
通过将中心点乘以当前的zoomScale,无论缩放级别如何,我都能找到正确的中心点.
我的标记是UIImageView的子视图,它包含我的地图.听起来你是以同样的方式做到这一点,所以我想这个(或类似的东西)应该适合你.
| 归档时间: |
|
| 查看次数: |
2948 次 |
| 最近记录: |