我有一个UIScrollView
有两页,只能水平滚动。
使用UIPageControl
控制滚动和分页。我在scrollView上放置了一个UIImageView
,其中包含一个iPhone的图像(在下图中以红色显示),在第1页中显示了Hello。
当用户从第1页滚动到第2页时,我想动画UIImageView
旋转并改变其位置,如图中所示。此外,当用户从第2页向后滚动到第1页时,理想情况下应该向后旋转动画。
UIImageView
的动画或移动基于用户水平滚动而不是基于时间的程度。
如何根据UIImageView
的滚动位置来回旋转UIScrollView
?
为滚动视图设置委托。您可能希望视图控制器成为委托人。您需要将UIScrollViewDelegate
添加到其协议列表中。
然后,在代表中,实现scrollViewDidScroll:
。在scrollViewDidScroll:
中,查看滚动视图的contentOffset
。基于contentOffset
,将图像视图的transform
和center
设置为旋转并将其移动到您想要的位置。
要查找滚动视图滚动的程度,可以检查UIScrollView的contentOffset属性:
contentOffset - 内容视图的原点从滚动视图的原点偏移的点。
然后旋转该图像视图,您可以这样做:
self.imageview.transform = CGAffineTransformMakeRotation(M_PI/2);
就动画而言,我个人对它没有多少经验。但你可以看看Simple Animation Using UIImageView。