我正在开发一个故事书应用程序,我想做如下视频中的页面卷曲。
谁能告诉我如何做到这一点。
更新:
我希望这个卷页器支持 iOS 4.3+。UIPageViewController 仅适用于 iOS 6。
我正在开发一个故事书应用程序,我想做如下视频中的页面卷曲。
谁能告诉我如何做到这一点。
更新:
我希望这个卷页器支持 iOS 4.3+。UIPageViewController 仅适用于 iOS 6。
您可能要考虑UIPageViewController
. 它在创建使用页面卷曲动画的应用程序时非常有用。这是文档链接。
您可以为此使用 UIView 的动画效果。我想这应该可以帮助你
[UIView beginAnimations:@"Curl" context:nil];
[UIView setAnimationDuration:2.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:contentView cache:YES];
[UIView commitAnimations];
其中 contentView 是您应用动画的视图。通过改变持续时间和动画曲线,您可以修改动画效果。
有两种方法:
困难的方法是自己实现所有东西(从头开始,使用图层、蒙版、变换和渐变),而且很头疼。
简单的方法,UIPageViewController
按照@Zen 的建议阅读文档。它非常有用,可为您提供所需的确切动画(如视频所示)。或者,使用一些第三方代码。
如果您没有时间限制,那么我会说,走第一种方式。你会学到很多东西。
干杯,玩得开心:)
编辑
以下是示例应用程序的链接:
https://www.dropbox.com/s/x4qo2igrzvnkj16/CurlAnimationProject.zip
检查它并告诉我你的想法。
正如在答案中多次提到的 UIPageViewController (苹果文档)是你应该看的东西。
实现相当简单,控制器使用 2 个委托
它实现了从页面滚动到页面的滑动手势,并且可以在视图底部提供页面控件。
对于从页面到页面的转换,您可以设置滚动动画(适合照片/投资组合类型)或您正在寻找的页面卷曲。
您可以通过以下方式制作页面卷曲/翻转效果
对于横向模式:
[UIView beginAnimations:@"Curl" context:nil];
[UIView setAnimationDuration:2.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:contentView cache:YES];
[UIView commitAnimations];
对于纵向模式:
[UIView beginAnimations:@"Curl" context:nil];
[UIView setAnimationDuration:2.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlLeft forView:contentView cache:YES];
[UIView commitAnimations];
SettingViewController *svc = [[SettingViewController alloc]initWithNibName:@"SettingViewController" bundle:nil];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[self.navigationController pushViewController:svc animated:YES];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.navigationController.view cache:NO];
[UIView commitAnimations];