Iphone 放大UIScrollView时是否滚动到矩形?

Iphone 放大UIScrollView时是否滚动到矩形?,iphone,ios4,uiscrollview,zooming,Iphone,Ios4,Uiscrollview,Zooming,我有一个UIImageView,在UIScrollView中有一个图像(地图)。我将另一个图像(标记)添加到图像视图中(因此添加了一个地图背景和一个标记)。如果屏幕上未显示标记,则在放置标记时,我希望滚动以显示标记 在地图上放置标记后,我正在使用[scrollView scrollRectToVisible:rect animated:YES]。当滚动视图未缩放时,这非常有效。如何根据缩放比例调整rect,使标记在视图中居中?我在当前正在使用的应用程序中做了一些非常类似的事情,但不是使用-scr

我有一个UIImageView,在UIScrollView中有一个图像(地图)。我将另一个图像(标记)添加到图像视图中(因此添加了一个地图背景和一个标记)。如果屏幕上未显示标记,则在放置标记时,我希望滚动以显示标记


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

我在当前正在使用的应用程序中做了一些非常类似的事情,但不是使用
-scrollRectToVisible
,而是使用
-setContentOffset

因为我知道标记在帧中的位置,所以可以轻松计算其中心,并将其保存为CGFloats
centerX
centerY
。然后,我使用以下代码在屏幕上居中标记(我从Y值中减去161,因为我的主视图有一个选项卡栏和一个导航控制器,所以它不是完整的480点):

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


我的标记是保存我的地图的UIImageView的子视图。听起来你是用同样的方法做的,所以我想这个(或类似的东西)应该对你有用。

还没有机会尝试这个,但我认为它应该有用。我会让你知道的。我没有在这里评论,而是在下面添加了一个帖子,让它更干净。
CGFloat curZoom = scrollView.zoomScale;

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