滚动UIScrollView时为对象设置动画

问题描述 投票:1回答:2

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

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

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

UIImageView的动画或移动基于用户水平滚动而不是基于时间的程度。

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

ios objective-c uiscrollview quartz-core
2个回答
0
投票

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

然后,在代表中,实现scrollViewDidScroll:。在scrollViewDidScroll:中,查看滚动视图的contentOffset。基于contentOffset,将图像视图的transformcenter设置为旋转并将其移动到您想要的位置。


1
投票

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

contentOffset - 内容视图的原点从滚动视图的原点偏移的点。

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.