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