Iphone 如何为UIView实现翻转过渡效果

Iphone 如何为UIView实现翻转过渡效果,iphone,uiview,transition,Iphone,Uiview,Transition,如何像在“flipboard”应用程序中一样为UIView实现翻转过渡效果。这里我已经有了一个样本,可以从左向右或从右向左翻转。但在这里,我想实现从下到上或从上到下的折叠翻转。这种动画可以使用下面的代码行 [UIView beginAnimations:nil context:NULL]; [UIView setAnimationDuration:5]; [UIView transitionFromView:view2 toView:view1 duration:3 options:UIView

如何像在“flipboard”应用程序中一样为UIView实现翻转过渡效果。这里我已经有了一个样本,可以从左向右或从右向左翻转。但在这里,我想实现从下到上或从上到下的折叠翻转。

这种动画可以使用下面的代码行

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:5];
[UIView transitionFromView:view2 toView:view1 duration:3 options:UIViewAnimationOptionTransitionFlipFromBottom completion:NULL];
[UIView commitAnimations];  

u可以根据需要设置持续时间和动画过渡。。我只在ios5中工作。

以下是我将如何尝试解决这个问题的概念。也许我会尝试在空闲时间实现它,以便手头有一个示例

  • 启动动画时,通过将当前UIView的图形上下文读入位图来创建其快照
  • 创建三个(是的,三个--请耐心等待)
    UIView
    s大小,以便它们组成要翻转的视图的两部分,其中两个视图表示右半部分的区域
  • 在各自的
    drawRect:
    实现中,在左视图(第一个)上绘制位图的一半,在右视图(第二个)上绘制位图的一半
  • 隐藏原始视图
  • 创建要转换到的下一个视图
  • 将其内容也放入位图中
  • 隐藏下一个视图
  • 制作第三个临时视图以绘制图像的右半部分(第三个)
  • 将第三个放在第二个下面
  • 沿第二个翻转的左边缘设置翻转的一半动画
  • 使第二个视图显示下一个视图的左半部分
  • 制作翻转动画的其余部分
  • 完成转换后,显示下一个视图,隐藏所有临时视图
  • 瞧!至少我希望如此
我认为可以使用一个UIView和三个Calayer来代替这三个UIView

还有一个问题是交互地进行转换,用户在页面上滑动手指

我还认为有一个问题,就是翻转视图以获得一个双面层。还没有机会利用这些资产以及它们可以帮助实现的目标

另一个解决方案是从UIView的内容中创建一个纹理,并在其上放置一个OpenGL曲面(当然是基于alpha transparent
CaeAglayer
)。然后,你将如何处理用该图像纹理的三角形,这只会受到你想象力的限制。我想这也可以创建一个类似精灵的移动到垃圾桶的动画,MailiOS应用程序使用它

编辑:哦,对不起,我在想一种从右到左的flipboard风格的翻转,不是从上到下,但总体思路当然是一样的。

查看本教程: 本项目:


PS:这是我自己的博客,链接到我的EPGLTransitionView分支

尝试在Github代码项目中搜索FGallery..下载代码并查看seeAll按钮上的动画查看此链接感谢您的回复…这里我想实现“Flipboard”中的视图转换效果应用程序。但是FGallery没有这样的转换效果。请参见flipboard应用程序,它没有卷曲动画。请注意,transitionFromView是iOS 4.0,以后您不需要beginAnimations/commitAnimations调用。只需使用transitionFromView:call,它应该可以正常工作。如何在项目中像选项2一样实现从下到翻转。?您创建了一个新项目,并说它包含自顶向下和自下而上翻转…但我不能说您可以反转翻转方向,但要切换
fwdDirection
参数[[EPGLTransitionView alloc]initWithView1:andView2:delegate:fwdDirection:];