Ios 在UIScrollView中模拟拖动结束

Ios 在UIScrollView中模拟拖动结束,ios,uiview,uiscrollview,uicontrol,Ios,Uiview,Uiscrollview,Uicontrol,当用户水平滚动超过我的scrollView的contentSize一定距离时,我想“接管”并运行一些动画。问题是,即使我一出现这种情况就关闭了用户交互,“拖动”操作仍在进行。只有当用户释放触摸时,交互才被禁用 有没有办法在拖动结束时以编程方式模拟补漆?最终的结果应该是当我的触发器触发时,用户立即无法再操作视图。我认为您应该使用手势识别器来检测用户的触摸。这应该可以解决您的问题。但更清楚的是,您可以将代码片段发布到您尝试检测触摸的位置吗?您可以临时设置scrollView的scrollEnable

当用户水平滚动超过我的scrollView的contentSize一定距离时,我想“接管”并运行一些动画。问题是,即使我一出现这种情况就关闭了用户交互,“拖动”操作仍在进行。只有当用户释放触摸时,交互才被禁用


有没有办法在拖动结束时以编程方式模拟补漆?最终的结果应该是当我的触发器触发时,用户立即无法再操作视图。

我认为您应该使用手势识别器来检测用户的触摸。这应该可以解决您的问题。但更清楚的是,您可以将代码片段发布到您尝试检测触摸的位置吗?

您可以临时设置scrollView的
scrollEnabled
属性设置为
。(与
userInteractionEnabled
属性不同,切换
scrollEnabled
会立即生效。)动画完成后,您可以再次打开它

从苹果的文档中: 滚动启用 确定是否启用滚动的布尔值

@属性(非原子,getter=IsScrolEnabled)BOOL scrollEnabled

讨论 如果此属性的值为“是”,则启用滚动;如果为“否”,则禁用滚动。默认值为YES


禁用滚动时,滚动视图不接受触摸事件;它将它们转发到响应器链上。

我没有做任何特殊的事情-滚动视图正在处理触摸事件。我只需要一种方法告诉它停止响应。不要使用scrollview的委托方法。使用scrollview.delegate=nil。那应该对你有帮助。