Ios 在UIScrollView中模拟拖动结束
当用户水平滚动超过我的scrollView的contentSize一定距离时,我想“接管”并运行一些动画。问题是,即使我一出现这种情况就关闭了用户交互,“拖动”操作仍在进行。只有当用户释放触摸时,交互才被禁用Ios 在UIScrollView中模拟拖动结束,ios,uiview,uiscrollview,uicontrol,Ios,Uiview,Uiscrollview,Uicontrol,当用户水平滚动超过我的scrollView的contentSize一定距离时,我想“接管”并运行一些动画。问题是,即使我一出现这种情况就关闭了用户交互,“拖动”操作仍在进行。只有当用户释放触摸时,交互才被禁用 有没有办法在拖动结束时以编程方式模拟补漆?最终的结果应该是当我的触发器触发时,用户立即无法再操作视图。我认为您应该使用手势识别器来检测用户的触摸。这应该可以解决您的问题。但更清楚的是,您可以将代码片段发布到您尝试检测触摸的位置吗?您可以临时设置scrollView的scrollEnable
有没有办法在拖动结束时以编程方式模拟补漆?最终的结果应该是当我的触发器触发时,用户立即无法再操作视图。我认为您应该使用手势识别器来检测用户的触摸。这应该可以解决您的问题。但更清楚的是,您可以将代码片段发布到您尝试检测触摸的位置吗?您可以临时设置scrollView的
scrollEnabled
属性设置为否
。(与userInteractionEnabled
属性不同,切换scrollEnabled
会立即生效。)动画完成后,您可以再次打开它
从苹果的文档中:
滚动启用
确定是否启用滚动的布尔值
@属性(非原子,getter=IsScrolEnabled)BOOL scrollEnabled
讨论
如果此属性的值为“是”,则启用滚动;如果为“否”,则禁用滚动。默认值为YES
禁用滚动时,滚动视图不接受触摸事件;它将它们转发到响应器链上。我没有做任何特殊的事情-滚动视图正在处理触摸事件。我只需要一种方法告诉它停止响应。不要使用scrollview的委托方法。使用scrollview.delegate=nil。那应该对你有帮助。