花了我几个星期来弄清楚这个简单的技巧,所以让我试试这个Q& A格式。
如何使用CoreAnimation为UIScrollView的滚动设置动画? This answer过于复杂,但确实为正确的方向迈出了一步。
答案 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"];