我有两个观点: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]
的初始帧有任何建议吗?
答案 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];