想象一下,UIButton和用户点击按钮外的某个地方然后滑到它上面。如果我希望按钮检测到这样的触摸,我可以为任何“触摸拖动输入”事件注册它。
我的问题:是否有某种方法可以实现UIScrollView的相同功能? 即,我点击滚动视图外的某个地方,将我的手指拖到滚动视图上,一旦我进入滚动视图框架,它就会开始平移? (因为默认情况下没有,我必须在滚动视图内部开始触摸才能平移)
答案 0 :(得分:1)
如果你想这样做,你将不得不使用-touchesBegan,-touchesMoved和-touchesEnded进行自定义实现
允许您执行此操作的UIResponder类(所有ViewControllers继承的文档)的文档是here。
希望你能从这里弄清楚该怎么做。 :)
作为额外提示,您也很可能需要使用此功能
bool contains = CGRectContainsPoint(CGRect rect, CGPoint point);
答案 1 :(得分:0)
想象一下,UIButton和用户点击按钮外的某个地方然后滑到它上面。如果我希望按钮检测到这样的触摸,我可以为任何“触摸拖动输入”事件注册它
实际上,不,你不能。除非触摸在控件中,否则UIControl将不会任何控件事件。
这与您在滚动视图中看到类似效果的原因相同。这是iOS上触摸传递的完整基础。触摸“属于”最初触摸的视图。
毕竟,运行时不可能知道你要拖入滚动视图......