确定UIScrollView中查看空间的中心

时间:2011-09-21 16:25:36

标签: iphone ios uiscrollview

我通过滚动视图显示CATiledLayer,滚动视图显示地图。当用户按下按钮时,我想确定用户当前正在查看的catiledlayer的边界并在那里放置图像。

换句话说,我需要确定正在显示的CATiledLayer部分,然后确定该部分的中心点。

欣赏任何想法。

1 个答案:

答案 0 :(得分:0)

您可以调用scrollView.contentOffset(返回CGPoint),它将为您提供滚动视图中所有内容与滚动视图的原点相关的位置。因此,如果你的CATiledLayer向上,向左,你会得到一些像(-50,-100)。获取这些值,乘以-1,然后将它们添加到scrollView.center属性(也返回CGPoint)。这将为您提供一个CGPoint坐标,如果在scrollView中用作新子视图的中心点,则会将该视图置于当前帧的中心。

CGPoint currentOffset = CGPointMake(scrollView.contentOffset.x * -1, scrollView.contentOffset.y * -1);
CGPoint center = CGRectMake(scrollView.center.x + currentOffset.x, scrollView.center.y + currentOffset.y);

我还没有测试过这段代码,但 应该工作,或者至少给你一个通用的起点!