0

如何确定我悬停或拖动的对象下方的属性或对象?

为了清楚地提出我的问题,让我悬停一个 uiview,我想找出我悬停的视图下方的(对象或视图)是什么。

4

2 回答 2

1

一方面,如果您知道两个对象的框架,您可以使用CGRectIntersectsRect.

 if (CGRectIntersectsRect(topObjectsRect, bottomObjectsRect)) {
        //
    }

此外,您可以获取被触摸的点,然后使用以下内容检查该点是否在某个矩形中。

  if (CGRectContainsPoint(CGRectMake(someX, someY, someWidth, someHeight), pointOfTouch))
  {
      //
  } 
于 2012-08-22T07:11:44.177 回答
1

在自定义视图中,您可以覆盖 touchesEnded 方法。此示例代码可能有助于您的自定义视图命中测试问题。

 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {

            if ([touches count] == 1) {
                UITouch *touch = [touches anyObject];
                CGPoint point = [touch locationInView:custom_view];

                if (CGRectContainsPoint(custom_view.bounds, point)) {
                   //if touch hit to custom_view
                };
            }
            [super touchesEnded:touches withEvent:event];
        }
于 2012-08-22T07:22:30.780 回答