如何实现UIView的翻转过渡效果,就像“Flipboard”应用程序中一样。这里我已经有一个示例,可以从左到右或从右到左进行翻转。但是我想要实现从底部向上或从顶部向下的折叠翻转。
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:5];
[UIView transitionFromView:view2 toView:view1 duration:3 options:UIViewAnimationOptionTransitionFlipFromBottom completion:NULL];
[UIView commitAnimations];
您可以根据需求设置持续时间和动画过渡效果。此功能仅适用于iOS5。
请查看这个教程:http://www.gethugames.in/blog/2012/02/extended-epgltransitionview.html 以及这个项目:https://github.com/saiy2k/EPGLTransitionView
附注:这是我的博客,链接指向我对EPGLTransitionView的分支。
[[EPGLTransitionView alloc] initWithView1: andView2: delegate: fwdDirection:];
中的 fwdDirection
参数。 - saiy2kdrawRect:
实现中,在左视图(第一个)上绘制位图的一半,右视图(第二个)上的右半部分我认为,你可以使用一个UIView和三个CALayer代替那三个UIView。
还有一个问题是如何与用户交互地进行转换,让用户用手指滑动页面。
我还认为翻转视图有一个双面层的问题。还没有机会尝试这些属性以及它们能帮助实现什么。
另一种解决方案是从UIView的内容创建纹理,并在其上放置一个OpenGL表面(基于alpha透明的CAEAGLLayer)。然后,你对那个图像纹理化的三角形所做的事情只受你的想象力限制。我想这也可以创建一个类似于Mail iOS应用程序使用的Genie-like移动到垃圾箱动画。
编辑:哦,抱歉,我想的是从右到左的翻页样式翻转,而不是从上到下,但总体思路当然是相同的。