2

我有一个UIScrollView包含自定义绘制视图(两个圆圈)的可缩放视图。当视图被缩放时,我想知道圆圈的中心在哪里,在应用程序的窗口中。考虑以下步骤: 1. 1x 的视图

1X 时的视图

在此处输入图像描述

视图以任意级别缩放,捏合集中在第一个圆圈上

在此处输入图像描述

视图以任意级别缩放,捏集中在右上角
我的意思是,如果我要在滚动视图顶部放置另一个包含圆圈的视图,以便该视图中的圆圈是同心的(不需要大小相同)在滚动视图的视图中具有较小的圆圈,新圆圈的中心应该位于哪里?

4

2 回答 2

5

当使用 UIView 的坐标转换方法时,您的自定义视图嵌入到滚动视图中并不相关:

MyCustomCircleView *circleView;

CGPoint centerInLocalCoordinates = circleView.centerOfACircle;
CGPoint centerInWindowCoordinates = [circleView convertPoint:centerInLocalCoordinates
                                                      toView:nil];

也许窗口坐标不是您想要的。请记住,窗口的坐标空间始终是纵向的,并且主页按钮位于底部。在横向握持设备时,您的坐标(当然)会旋转。

转换为超级视图的坐标可能更容易,例如您的视图控制器的视图坐标空间。

于 2012-04-12T07:40:22.150 回答
0

你画了圆圈吗?scrollView.contentOffset,scrollView.contentSize和的某种组合scrollView.zoomScale是您想要的。您可以使用这些值返回平移和缩放。

于 2012-04-12T07:42:47.183 回答