当用户水平滚动超出我的 scrollView 的 contentSize 一定距离时,我想“接管”并运行一些动画。问题是,即使我一发生这种情况就关闭用户交互,“拖动”操作仍在进行中。只有当用户松开触摸时,交互才会被禁用。
有没有办法以编程方式模拟拖动结束时的修饰?最终结果应该是,当我的触发器触发时,用户立即无法再操作 View 。
Best Answer-推荐答案 strong>
您可以暂时将scrollView 的scrollEnabled 属性设置为NO 。 (与 userInteractionEnabled 属性不同,切换 scrollEnabled 会立即生效。)您可以在动画完成后再次打开它。
来自 Apple 的文档:
启用滚动
一个 bool 值,用于确定是否启用滚动。
@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled
讨论
如果此属性的值为 YES,则启用滚动,如果为 NO,则禁用滚动。默认为 YES。
当禁用滚动时, ScrollView 不接受触摸事件;它将它们转发到响应者链上。
关于ios - 在 UIScrollView 中模拟拖动结束,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/10974236/
|