UIScrollView iOS应用程序中的animation

我正在开发一个iOS应用程序,我有一个全屏的UIScrollView与UIImageView在顶部和2个UIButton在底部。

当用户滚动我想插入一个animation的图像视图(也许只能改变alpha参数逐渐)。

animation与滚动视图相关,例如,如果用户滚动滚动视图一半,将仅显示一半animation。

我希望我解释一下自己。

我怎样才能做到这一点?

使用UIScrollViewDelegate scrollViewDidScroll:方法。

https://developer.apple.com/library/ios/documentation/uikit/reference/uiscrollviewdelegate_protocol/Reference/UIScrollViewDelegate.html#//apple_ref/occ/intfm/UIScrollViewDelegate/scrollViewDidScroll

但也请查看该委托中的其他方法。

所以举个例子,你可能会得到类似的东西(或者改变你的需求):

 -(void)scrollViewDidScroll:(UIScrollView*)scrollView { float opacity = ( 100 - scrollView.contentOffset.y ) / 100.0; opacity = (opacity < 0? 0 : opacity>1? 1 : opacity); imageView.layer.opacity = opacity; } 

你也可能想从苹果工程师那里学习。 看看WWDC的video,其中有很多:

  • 探索iOS 7上的滚动视图 (WWDC 2013)
  • 使用滚动视图增强用户体验 (WWDC 2012)
  • 先进的ScrollView技术 (WWDC 2011)

实现UIScrollView委托协议并使用此方法

 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { } 

在这里,您可以通过调整视图图层的不透明度来更改UIImageView的Alpha值:

 imageView.layer.opacity = ... 

这就是所谓的隐式animation。