0

使用此代码,我试图检测用户用手指移动的 UIbutton 何时在另一个 UIButton(或 UIImageView)上释放:

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

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

....

btn 是被拖动的 UIButton,而 dropPoint 是视图中用户移开手指的位置。如果 bnt 在 self.view 中,此方法非常有效,但如果 btn 在 UIScrollView 中,则它不起作用。即使在 UIScrollView 中,我怎样才能使它工作?

4

1 回答 1

1

dropPoint需要在 的坐标系中btn。假设btn是 的直接子视图gesture.view.superview

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

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

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

....
于 2013-10-11T13:29:59.780 回答