我想在iOS 5中从一个视图切换到另一个视图,它会正常切换。
但我想在像 FlipBoard动画这样的视图之间进行切换。
有可能吗?如果是,请帮助我在我的项目中这样做。
提前谢谢。
答案 0 :(得分:5)
看看:https://github.com/mpospese/MPFoldTransition这可能会对您有所帮助
答案 1 :(得分:3)
我试图通过使用CALayers和Core Animation来解决这个问题。我有两个主要层来完成这个动画,一个静态层和一个动画层。
静态图层是整个视图的大小。这个图层没有动画它只是保存两个图像,左侧和右侧(左侧和右侧图像是您想要翻转的页面的屏幕截图)。动画图层的大小是整个视图的一半,此图层会动画以执行翻转动画。前后动画层也是当前页面和下一页的屏幕截图。
例如,假设我们要翻到下一页。
静态图层的左侧将包含当前页面左侧的屏幕截图。右侧将包含下一页右侧的屏幕截图。动画层将位于静态视图的顶部,其正面将包含当前页面右侧的屏幕截图。动画图层的背面将包含下一页左侧的屏幕截图。
当您平移手指时,您将在动画层的y轴上执行CATransform3DRotate。因此,当您的手指从屏幕右侧移动到左侧时,动画图层将翻转并显示静态视图的右侧和背面。
以下是在图层上执行翻转动画的基本代码(animationLayer CALayer)。
var t = CATransform3DIdentity
t.m34 = 1.0/850 //Adds depth to the animation
t = CATransform3DRotate(t, newRadianAngleValue, 0, 1, 0)
CATransaction.begin()
CATransaction.setAnimationDuration(0)
yourAnimationCALayer.transform = t
CATransaction.commit()
我创建了自己的库,使用这个基本概念,检查出来。 (虽然仍在进行中)
答案 2 :(得分:2)
在此link下载代码。它会像flipBorad
一样呈现精确输出答案 3 :(得分:1)