如何在 iOS 中像 FlipBoard 动画那样在视图之间翻转?

问题描述 投票:0回答:5

我想在 iOS 5 中从一个视图切换到另一个视图,它切换正常。

但我想在视图之间翻转,例如 FlipBoard 动画

可能吗?如果是,请帮助我在我的项目中做到这一点。

提前谢谢您。

ios flip flipboard
5个回答
5
投票

看看:https://github.com/mpospese/MPFoldTransition这可能对你有帮助


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()

我使用这个基本概念创建了自己的库,请查看。 (尽管仍在进行中)

https://github.com/djk12587/DJKSwiftFlipper


2
投票

在此链接下载代码。它会像 FlipBorad 一样呈现精确的输出


1
投票

看看这个

https://github.com/ITechRoof/ITRFlipper

使用自定义视图更加简单且易于使用。


-1
投票

现在有 Swift UIKIt 替代库吗?

© www.soinside.com 2019 - 2024. All rights reserved.