如何检测UIScrollView上的“拖动回车”

想象一下,一个UIButton和一个用户在按钮外的某个地方点击,然后滑动到该按钮上。 如果我想让按钮检测到这样的触摸,我可以注册它的任何“触摸拖动输入”事件。

我的问题:有没有办法实现UIScrollView的相同? 也就是说,我点击滚动视图之外的某个地方,将我的手指拖动到滚动视图上,一旦我进入滚动视图框架,它就会开始平移? (因为默认情况下它没有,我必须开始我的触摸INSIDE滚动视图才能平移)


想象一下,一个UIButton和一个用户在按钮外的某个地方点击,然后滑动到该按钮上。 如果我想让按钮检测到这样的触摸,我可以注册它的任何“触摸拖动输入”事件

其实,不,你不能。 UIControl不会得到任何控制事件,除非在控件中触摸开始。

这也是出于与滚动视图类似的效果。 这是iOS上触控传送的完整基础。 触摸“属于”最初触摸的视图。

毕竟,运行时不可能知道你要拖入滚动视图中...


如果你想这样做,你将不得不使用-touchesBegan,-touchesMoved和-touchesEnded进行自定义实现

UIResponder类的文档(所有的ViewControllers继承自)允许你这样做。

希望你能从这里弄清楚该做什么。 :)

作为一个额外的提示,你也很可能需要使用这个功能

bool contains = CGRectContainsPoint(CGRect rect, CGPoint point);
链接地址: http://www.djcxy.com/p/40535.html

上一篇: How to detect "Drag Enter" on UIScrollView

下一篇: iOS UIScrollView cancel UIButton touch on scroll