如何在UIScrollView上检测“拖动Enter”

时间:2013-05-10 23:32:31

标签: ios uiscrollview

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

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

2 个答案:

答案 0 :(得分:1)

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

允许您执行此操作的UIResponder类(所有ViewControllers继承的文档)的文档是here

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

作为额外提示,您也很可能需要使用此功能

bool contains = CGRectContainsPoint(CGRect rect, CGPoint point);

答案 1 :(得分:0)

  

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

实际上,不,你不能。除非触摸控件中,否则UIControl将不会任何控件事件。

这与您在滚动视图中看到类似效果的原因相同。这是iOS上触摸传递的完整基础。触摸“属于”最初触摸的视图。

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