我使用UIPanGestureRecognizer
在屏幕上移动我的UIView
个对象。
我想做什么 主要目的是弄清楚当两个物体相互交叉时如何捕捉事件。例如两个UIView对象。所以第一个是静态对象(不移动),另一个是我可以在屏幕上移动的时候。因此,我需要知道我的第二个对象(UIView)穿过静态对象的时刻。主要问题还在于这些视图位于不同的视图中。因此,第一个静态视图位于视图上,称为“编辑视图”,另一个视图位于视图上,称为“工具栏”。所以这意味着我不能只比较两个矩形并享受它。有没有什么方法可以比较两个对象相互交叉时的方法,但也许没有方法可以比较它们的矩形。
答案 0 :(得分:1)
我认为您正在寻找的是UIView的convertRect:toView:方法。
CGRect *convertedView1Rect = [view1 convertRect:view1.frame toView:view2];
BOOL intersects = CGRectIntersection(convertedView1Frame, view2.frame);
答案 1 :(得分:1)
Following method required two parameter of rectangle's - just pass rect1 and rect2 , and it return bool value whether it intersect or not -
if( CGRectIntersectsRect(<#CGRect rect1#>, <#CGRect rect2#>) ) {
NSLog("Intersect");
} else {
NSLog("Not Intersect");
}