Apple 如何制作 iBooks 2 抽认卡的动画?

Posted

技术标签:

【中文标题】Apple 如何制作 iBooks 2 抽认卡的动画?【英文标题】:How does Apple do the Animation of the iBooks 2 flashcards? 【发布时间】:2012-02-18 09:07:19 【问题描述】:

我正在尝试使用

从一个 UIView 转换到另一个
[UIView transitionFromView:self.frontsideCardView 
                    toView:self.backsideCardView 
                  duration:kFlipCardAnimationDuration
                   options:UIViewAnimationOptionTransitionFlipFromTop
                completion:completion];

问题是当我在两个视图上打开CALayer 阴影和圆角时,动画变得迟钝。所以我查看了 Apple 应用程序,看看它们是否做了类似的事情,我发现 iBooks 2 应用程序可以。你可以在那里学习抽认卡,如果你点击一张卡片,它会顺利翻转。而且据我所见,他们还使用圆角和阴影。

我注意到,在我的动画中,视图在翻转时会变黑 - 在 iBooks 中不会发生这种情况:

(例如,我从视图中删除了所有内容,否则它只是以 10 fps 进行动画)

您知道 Apple 做了什么来制作如此流畅的动画吗?

【问题讨论】:

【参考方案1】:

我敢打赌,他们使用的是在普通旧视图上绘制的图像。 最简单、最快的方法。

【讨论】:

感谢您的建议。我尝试使用带有透明图像的UIImageView,但它仍然滞后。 真的吗?好奇 - 你为什么属性设置了动画?框架还是变换?您是否取消了所有图层修改?图片有多大? (具有可拉伸区域的图像可以提供很大的性能。胜利)。 图像非常小,我使用了可拉伸区域。我认为问题在于它有圆角和透明度。为了制作动画,我使用了 UIView 类方法。【参考方案2】:

有一个与在 Lion 中滑动有关的示例,您可以根据自己的使用进行调整:https://developer.apple.com/library/mac/samplecode/PictureSwiper。基本上,您为您之前和之后的页面拍照,将它们分层放置在您顶部的隐藏视图中,然后在滑动期间显示视图并为图层设置动画。滑动完成后,您将隐藏视图并重新缓存图像。整个过程在 ios 中可能比在 osx 中更容易实现。

【讨论】:

我不确定我是否完全理解您的回答。我想实现翻转动画,而不是滑动动画。不过感谢您的链接。

以上是关于Apple 如何制作 iBooks 2 抽认卡的动画?的主要内容,如果未能解决你的问题,请参考以下文章

如何将自定义视图动画化为自定义视图

如何在点击/选择时替换 iCarousel 中的特定视图?

在“抽认卡”中显示来自 iOS 中 Firebase 的数据

组件重新渲染时状态不更新?

System Design 学习笔记1

MySQL 表 USERS 和 FLASHCARDS - 如何根据另一个修改一个?