滚动UIScrollView时为对象设置动画

时间:2013-08-12 05:18:51

标签: ios objective-c uiscrollview quartz-core

我有一个UIScrollView,它有两页,只能水平滚动。

使用UIPageControl控制滚动和分页。我在scrollView上放置了一个UIImageView,其中包含iPhone的图像(在下图中以红色显示),在第1页中显示 Hello

当用户从第1页滚动到第2页时,我想动画UIImageView以旋转并更改其位置,如图中所示。此外,当用户从第2页向后滚动到第1页时,理想情况下应该向后旋转动画。

Animation based on UIScrollView

UIImageView的动画或移动取决于用户水平滚动的数量,而不是基于时间。

如何根据UIImageView的滚动位置来回旋转UIScrollView

2 个答案:

答案 0 :(得分:1)

要查找滚动视图的滚动程度,您可以检查UIScrollView的contentOffset属性:

  

contentOffset - 内容视图的来源所在的点   偏离滚动视图的原点。

然后要旋转该图像视图,您可以这样做:

self.imageview.transform = CGAffineTransformMakeRotation(M_PI/2);

就动画而言,我个人对它没有多少经验。但你可以看一下Simple Animation Using UIImageView

答案 1 :(得分:0)

为滚动视图设置委托。您可能希望视图控制器成为委托人。您需要将UIScrollViewDelegate添加到其协议列表中。

然后,在委托中,实施scrollViewDidScroll:。在scrollViewDidScroll:中,查看滚动视图的contentOffset。根据{{​​1}},设置图片视图的contentOffsettransform进行旋转,并将其移动到您想要的位置。