CGPoint问题

时间:2011-06-30 11:24:18

标签: iphone ipad

我有两个观点:viewA,viewB

我旋转并放大了viewA然后我将viewB添加为子视图,然后将手势添加到viewB。

我想获得viewB上与viewA相关的触摸位置,并考虑旋转和缩放

我试过

NSLog(@"Before teh conversion %f" , viewB.endPoint.x ) ; 

CGPoint aPtInScrollView = [viewB convertPoint:viewB.endPoint toView:viewA ]; 

NSLog(@"After teh conversion %f" , aPtInScrollView.x ) ; 

其中endPoint是我通过触摸保存在其中的一个点。

但它返回相同的点,我想看到旋转和缩放的效果,我的意思是viewA的位置大小,..已经改变,所以点位置应该改变

viewA,viewB是[self.view frame]

的初始帧

有任何建议吗?

1 个答案:

答案 0 :(得分:0)

既然你说viewB占据viewA的整个边界,那就是你得到相同观点的原因。

假设您的viewA的框架为(10,10,40,40)。然后添加一个子视图,其子帧为(0,0,40,40),子视图中的一个点(20,20)也将在viewA中为(20,20)。你可能想要它在viewA的superview的坐标空间里(30,30)。为此你需要做,

CGPoint aPtInScrollView = [viewB convertPoint:viewB.endPoint toView:viewA.superview];