禁用 UIScrollView 手势

Posted

技术标签:

【中文标题】禁用 UIScrollView 手势【英文标题】:Disabling UIScrollView gestures 【发布时间】:2014-08-27 18:20:29 【问题描述】:

我创建了一个自定义滚动视图类,它使用两个可以滚动的子视图(启用分页)以在屏幕上显示当前视图。

我想做的是更改它,以便第二个视图仅在点击特定按钮时才会滚动。因此,不应允许用户使用拖动手势在第二个视图中滚动。

如何暂时禁用滚动视图上的拖动手势? (暂时是因为当第二个视图被卷入时,它应该被重新激活,以便用户可以将该视图拖出屏幕。

感谢任何提示!

【问题讨论】:

【参考方案1】:

self.myscrollview.scrollEnabled = NO;

【讨论】:

在我的情况下有效,谢谢!虽然很高兴知道如何使用手势识别器执行此操作,因为第二个视图可以选择偏移,以便它的一部分最初在屏幕上可见,如果最初只能拖动该部分以打开第二个视图。 我不确定你会如何使用手势,但也许你可以只处理 scrollViewDidScroll 事件并且只有 if(scrollView.contentOffset.y > 10) 禁用它?【参考方案2】:

你也可以不用这样编码:

在 Scrollview 的属性检查器中有滚动属性。只需取消选中启用的滚动,它肯定会工作!查看图片。

【讨论】:

以上是关于禁用 UIScrollView 手势的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3:UIScrollView 和(禁用)手势识别器

UIScroll 视图未按预期工作

当已经完全放大时,如何强制 UIScrollView 完全忽略放大手势?

UIScroll 视图 + UIView + UITableview 问题

OCUI界面设计:滚动视图与分页控件初探

在 UIScrollView 中禁用 2 指滚动