1

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

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

当用户从第 1 页滚动到第 2 页时,我想为UIImageView旋转和更改其位置设置动画,如图所示。此外,当用户从第 2 页滚动回第 1 页时,动画应该理想地向后旋转。

基于 UIScrollView 的动画

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

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

4

2 回答 2

1

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

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

于 2013-08-12T05:26:07.460 回答
1

要查看滚动视图滚动了多少,您可以检查 UIScrollView 的 contentOffset 属性:

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

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

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

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

于 2013-08-12T05:29:26.920 回答