Ios 设置UIScrollView滚动动画

Ios 设置UIScrollView滚动动画,ios,uiscrollview,core-animation,Ios,Uiscrollview,Core Animation,我花了几个星期才想出这个简单的窍门,所以让我试试这种问答形式 如何使用CoreAnimation设置UIScrollView滚动的动画?虽然它确实提供了一个正确方向的步骤,但它过于复杂。简单 要使用核心动画,必须修改UIView的基础CALayer的属性。事实证明,当您滚动UIScrollView时,您真正要做的就是修改CALayer的bounds属性,特别是origin.y组件。因此,此代码将实现以下功能: NSString *keyPath = @"bounds.origin.y"; [se

我花了几个星期才想出这个简单的窍门,所以让我试试这种问答形式

如何使用CoreAnimation设置UIScrollView滚动的动画?虽然它确实提供了一个正确方向的步骤,但它过于复杂。

简单

要使用核心动画,必须修改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"];