iOS知道什么时候触摸如果触摸到某个视图的顶部

iOS知道什么时候触摸如果触摸到某个视图的顶部,ios,touch,Ios,Touch,我必须做一些“快速上网”的行为 我有一个拖动图像“精灵”,但如果触摸按钮顶部,我需要将该精灵“捕捉”到某个按钮 那么我怎么知道touchesEnded是否位于某个按钮的顶部, 这是我的代码,但我不知道什么时候触到butotn的顶部 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touched = [[event allTouches] anyObject]; CGP

我必须做一些“快速上网”的行为

我有一个拖动图像“精灵”,但如果触摸按钮顶部,我需要将该精灵“捕捉”到某个按钮

那么我怎么知道touchesEnded是否位于某个按钮的顶部, 这是我的代码,但我不知道什么时候触到butotn的顶部

 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{    
    UITouch *touched = [[event allTouches] anyObject];
    CGPoint location = [touched locationInView:touched.view];

    CGRect recta = touched.view.frame;

    if (CGRectIntersectsRect(recta, self.button_1.frame)) {
        DLog(@"intersected");
    }

}
所以这并没有发生, 能做到吗

或者我必须自己对照按钮框X和Y位置检查画龙点睛的X和Y位置吗


干杯

您可以使用CGRectIntersectsRect,如果您传递给它的两个矩形相交,它将返回YES。

触摸。视图是触摸开始的视图。您想知道触摸结束的位置是否位于特定按钮的顶部。您可以通过检查触摸相对于按钮的位置是否在按钮的边界内来完成此操作

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touched = [[event allTouches] anyObject];
    CGPoint locationRelative = [touched locationInView:self.button_1];

    if (CGRectContainsPoint(self.button_1.bounds, locationRelative)) {
        DLog(@"on top of button_1");
    }
}

你好,好主意,谢谢!我确实修改了我的代码snipet来显示我现在在做什么,但是记录它总是在相交?即使它真的不是,什么是missing plz?,thx!