帧边缘触摸另一帧边缘时如何获得?

时间:2013-10-22 11:53:22

标签: ios cgrect edge-detection boundary

我有两个矩形如下图所示,两个都可以旋转,两者都可以调整大小。

enter image description here

enter image description here

现在我的问题是,每当黄色将朝向5px之前的白色矩形移动,绿色矩形边缘。当黄色矩形触摸白色矩形线时,我会收到通知。

完成大量工作后,我可以在两个矩形都没有旋转的情况下完成。对于该视图旋转时的相同方式,我应该得到通知。我在第一张图片中绘制了白色矩形。请为旋转的图像考虑相同的图像。

1 个答案:

答案 0 :(得分:-1)

试试这个我觉得它会起作用

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{   
    if (!self.clipsToBounds && !self.hidden && self.alpha > 0) {
        for (UIView *subview in self.subviews.reverseObjectEnumerator) {
            CGPoint subPoint = [subview convertPoint:point fromView:self];
            UIView *result = [subview hitTest:subPoint withEvent:event];
            if (result != nil) {
                return result;
                break;
            }
        }
    }

    // use this to pass the 'touch' onward in case no subviews trigger the touch
    return [super hitTest:point withEvent:event];
}