在事件上取消UIScrollView上的所有惯性/反弹动画

时间:2014-12-20 19:40:06

标签: ios objective-c uiscrollview uianimation

我有一个启用惯性/反弹的UIScrollView。只要用户没有点击任何UI元素,这是可取的,但如果他们这样做,则操作不会在弹跳/惯性停止之后执行选择器。

我想在用户触摸另一个元素时立即取消滚动视图上的所有动画。我试过了

[scrollView.layer removeAllAnimations]; 
在点击操作的选择器中

,但这没有任何效果(可能是因为选择器在动画结束之前不会触发)。如何从另一种方法立即停止滚动视图上的所有惯性/反弹?

修改:在选择器中放置一个断点实际上会立即触发removeAllAnimations。也许我只是错了一层?

1 个答案:

答案 0 :(得分:0)

删除动画并不能解决问题,但是在没有动画的情况下强制进行内容偏移:

[scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, scrollView.contentOffset.y) animated:NO];