ホバーまたはドラッグしているオブジェクトの下にあるプロパティまたはおそらくオブジェクトを特定するにはどうすればよいですか?
私の質問を明確にするために、私がuiviewをホバリングしているとしましょう。私は、ホバリングしているビューの下にあるもの(オブジェクトまたはビュー)を調べたいと思います。
ホバーまたはドラッグしているオブジェクトの下にあるプロパティまたはおそらくオブジェクトを特定するにはどうすればよいですか?
私の質問を明確にするために、私がuiviewをホバリングしているとしましょう。私は、ホバリングしているビューの下にあるもの(オブジェクトまたはビュー)を調べたいと思います。
1つは、両方のオブジェクトのフレームがわかっている場合は、を使用できますCGRectIntersectsRect
。
if (CGRectIntersectsRect(topObjectsRect, bottomObjectsRect)) {
//
}
さらに、触れたポイントを取得し、以下を使用して、そのポイントが特定の長方形内にあるかどうかを確認できます。
if (CGRectContainsPoint(CGRectMake(someX, someY, someWidth, someHeight), pointOfTouch))
{
//
}
カスタムビューでは、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];
}