Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何在其父视图中获取子视图的有效边界';s坐标系_Iphone_Ios_Uiview_Subview - Fatal编程技术网

Iphone 如何在其父视图中获取子视图的有效边界';s坐标系

Iphone 如何在其父视图中获取子视图的有效边界';s坐标系,iphone,ios,uiview,subview,Iphone,Ios,Uiview,Subview,在我的应用程序中,我允许用户通过添加箭头(自定义箭头视图)为照片添加注释。可以添加多个箭头,并进行各种缩放和旋转 我正在尝试通过触摸实现箭头的选择。目前,我正在迭代&使用 CGRectContainsPoint(arrowView.frame, touchPoint) 根据触摸手势决定要选择的箭头 但是,当一些箭头较大时,这种方法不起作用&旋转到45度(因为框架变大) 问题: 我想使用箭头的边界转换为父坐标,而不是框架。当应用缩放和旋转时,如何获得此结果 或者,是否有更好的方法来解决此选择问题

在我的应用程序中,我允许用户通过添加箭头(自定义箭头视图)为照片添加注释。可以添加多个箭头,并进行各种缩放和旋转

我正在尝试通过触摸实现箭头的选择。目前,我正在迭代&使用

CGRectContainsPoint(arrowView.frame, touchPoint)
根据触摸手势决定要选择的箭头

但是,当一些箭头较大时,这种方法不起作用&旋转到45度(因为框架变大)

问题: 我想使用箭头的边界转换为父坐标,而不是框架。当应用缩放和旋转时,如何获得此结果


或者,是否有更好的方法来解决此选择问题?

此代码在
接触点下找到箭头:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    CGPoint touchPoint = [touch locationInView:self.view];
    UIView *arrow = [self.view hitTest:touchPoint withEvent:event];
}

转换为父坐标的箭头的边界是帧的定义。你能发布比你发布的行更多的代码来显示你是如何定义接触点的吗?但当旋转时,框架会变大,而边界保持不变。我希望获得应用旋转的原始帧(即,矩形的边可能与父视图帧的边不平行)。这就是我所说的“箭头的边界转换为父坐标”。谢谢你的回答。但是,我使用的是
UITapGestureRecognizer
。是否可以获取与该手势相对应的
UIEvent