如何在其父视图的坐标系中获得子视图的有效边界

时间:2012-02-25 15:05:47

标签: iphone ios uiview subview

在我的应用中,我允许用户通过添加箭头(自定义ArrowView)来注释照片。可以添加许多箭头,各种缩放和放大。转动。

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

CGRectContainsPoint(arrowView.frame, touchPoint)

根据触摸手势决定选择哪个箭头。

但是,当一些箭头很大并且它们很大时,这种方法效果不佳。旋转到45度(因为框架变大)。

问题: 我想使用箭头的边界转换为父坐标而不是框架。如何在缩放和放大时获得此功能是否应用了旋转?

或者,有没有更好的方法来解决这个选择问题?

1 个答案:

答案 0 :(得分:1)

此代码在touchPoint

下找到箭头
- (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];
}