限制在 UIScrollView 上识别的触摸
Posted
技术标签:
【中文标题】限制在 UIScrollView 上识别的触摸【英文标题】:Limit touches recognized on UIScrollView 【发布时间】:2012-10-22 14:11:43 【问题描述】:我正在尝试限制 UIScrollView 上识别的触摸次数,因为它正在使用另一个需要多次触摸的手势执行。如果触摸次数大于 1,我不希望触发平移和滑动手势。但我没有成功。
我已经继承了 UIScrollView 并覆盖了明显的方法,但是 numberOfTouches 总是返回 1?
-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
if (gestureRecognizer.numberOfTouches > 1)
return NO;
return YES;
【问题讨论】:
【参考方案1】:也许您可以执行以下操作?
for(UIGestureRecognizer* gr in _scrollview.gestureRecognizers)
if([gr respondsToSelector:@selector(setMaximumNumberOfTouches:)])
gr.maximumNumberOfTouches = 1;
不需要对滚动视图进行子分类,您可以在视图控制器的viewDidLoad
中执行此操作。
【讨论】:
恐怕不行。它为 UIScrollViewPanGestureRecognizer 设置了它,但仍然响应多个触摸:(以上是关于限制在 UIScrollView 上识别的触摸的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView之isTracking delaysContentTouches canCancelContentTouches