动画UIScrollView滚动

时间:2014-09-26 18:20:30

标签: ios uiscrollview core-animation

花了我几个星期来弄清楚这个简单的技巧,所以让我试试这个Q& A格式。

如何使用CoreAnimation为UIScrollView的滚动设置动画? This answer过于复杂,但确实为正确的方向迈出了一步。

1 个答案:

答案 0 :(得分:0)

简单!

要使用Core Animation,您必须修改UIView底层CALayer的属性。事实证明,当您滚动UIScrollView时,您所做的只是修改CALayer的bounds属性(特别是origin.y组件)。因此,这段代码将起到作用:

NSString *keyPath = @"bounds.origin.y";
[self.scrollView.layer setValue:[NSNumber numberWithFloat:0] forKeyPath:keyPath];

CABasicAnimation *bounceAnimation = [CABasicAnimation animationWithKeyPath:keyPath];
bounceAnimation.fromValue = [NSNumber numberWithFloat:100];
bounceAnimation.toValue = [NSNumber numberWithFloat:0];
bounceAnimation.duration = 2.0f;

[self.scrollView.layer addAnimation:bounceAnimation forKey:@"someKey"];