UIScrollView 中的水平滑动
Posted
技术标签:
【中文标题】UIScrollView 中的水平滑动【英文标题】:Horizontal swipes in a UIScrollView 【发布时间】:2012-02-06 03:54:24 【问题描述】:我希望滚动视图只是垂直滚动,并且我还尝试在滚动视图上捕获水平滑动。
我尝试继承 UIScrollView 并覆盖一些关于触摸事件的方法,但都失败了。
问题似乎是,当用户通过一些意外的垂直移动(即使只是一点点)水平滑动时,UIScrollView 滚动并且我的 touchesEnded 委托方法永远不会被调用。
【问题讨论】:
您能详细说明您是如何尝试捕捉滑动的吗? 【参考方案1】:不要覆盖touchesBegan:withEvent:
和其他方法,而是使用UISwipeGestureRecognizer
。这要简单得多。
“Gesture Recognizers” in the Event Handling Guide for iosUISwipeGestureRecognizer Class Reference
【讨论】:
感谢您的回答!但问题仍然存在。当用户通过一些意外的垂直移动(即使只是一点点)水平滑动时,不会调用手势选择器方法。 您的目标是什么版本的 iOS? iOS 4.0。顺便说一句,手势选择器方法仅在用户滑动而不触发垂直移动时被调用。 挖掘滚动视图的手势识别器以找到它的平移手势识别器并执行[panGestureRecognizer requireGestureRecognizerToFail:self.swipeGestureRecognizer]
。在此处查找平移手势识别器的代码:***.com/a/3173290/77567以上是关于UIScrollView 中的水平滑动的主要内容,如果未能解决你的问题,请参考以下文章
在启用水平页面的 UIScrollview 中滑动多个 UITableView