当用户水平滚动超出scrollView的contentSize一定距离时,我想“接管”并运行一些动画。问题是,即使我一旦关闭用户交互功能,“拖动”操作仍在进行。仅当用户释放触摸时,才禁止交互。

有没有一种方法可以以编程方式模拟拖动结束时的修饰?最终结果应该是,当我的触发器触发时,用户立即无法再操纵该视图。

最佳答案

您可以将scrollView的scrollEnabled属性临时设置为NO。 (与userInteractionEnabled属性不同,切换scrollEnabled具有立竿见影的效果。)可以在完成动画后再次将其重新打开。
从Apple的文档中:
scrollEnabled
一个布尔值,确定是否启用滚动。@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled讨论区
如果此属性的值为YES,则启用滚动;如果值为NO,则禁用滚动。默认值为是。
禁用滚动时,滚动视图不接受触摸事件;否则,滚动视图将停止。它将它们转发到响应者链。

10-08 16:59