【问题标题】:Cancel UIScrollView bounce animation after didEndDragging?didEndDragging 后取消 UIScrollView 弹跳动画?
【发布时间】:2014-01-21 15:11:59
【问题描述】:

我有一个水平的UIScrollView。我想实现一个自定义动画而不是默认的反弹,我一直拉到滚动视图内容大小的右边缘,滚动视图飞回 (0, 0) 内容偏移松开手指后。

有没有办法取消反弹动画,保持内容偏移不重置,然后执行我的动画?

我找到了解决这个问题的方法。只需使用UIScrollView 委托方法:

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset

【问题讨论】:

    标签: ios objective-c uiscrollview


    【解决方案1】:

    即兴思考,无需在代码中进行测试,获取contentOffset,然后将其设置为setContentOffset:... animated:NO。这应该取消正在进行的动画并立即过渡到给定的位置。由于给定的位置是当前位置,它应该只是取消动画。

    【讨论】:

    • 感谢您的回复。我试过这个。但它不能覆盖反弹动画。
    • 为了避免这个问题,您是否尝试将bounces 设置为NO,因此没有要取消的动画?如果做不到这一点,您可以在图层上尝试removeAllAnimations。这些想法中的任何一个都行得通吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多