CGRectContainsPoint与UIScrollView中的对象

时间:2013-10-11 13:17:09

标签: ios

使用此代码,我试图检测用户用他的手指移动的UI按钮何时通过另一个UIButton(或UIImageView)释放:

CGPoint dropPoint = [gesture locationInView:gesture.view.superview];

if (CGRectContainsPoint(btn.frame, dropPoint)) { 

....

btn是被拖动的UIButton,而dropPoint是视图中用户拿走手指的位置。如果在self.view中使用bnt,则此方法可以正常工作,但如果btn在UIScrollView中则不起作用。如何在UIScrollView中使其工作?

1 个答案:

答案 0 :(得分:1)

dropPoint需要位于btn的坐标系中。假设btngesture.view.superview的直接子视图:

CGPoint dropPoint = [gesture locationInView:gesture.view.superview];

CGPoint dropPointInBtn = [gesture.view.superview convertPoint:dropPoint toView:btn];

if (CGRectContainsPoint(btn.frame, dropPointInBtn)) { 

....