ios - UIView 动画与 CALayers

标签 ios core-animation calayer uiviewanimation caanimation

我正在努力使用 CALayer 而非 UIView 自己的动画方法来概念化动画。将“Core Animation”放入其中,好吧,也许有人可以从高层次阐明这些概念,这样我就可以更好地想象正在发生的事情以及为什么我想要迁移 UIView 动画(我是现在已经很熟悉了)到 iPhone 上的 CALayer 动画。 Cocoa-Touch 中的每个 View 都会自动获得一个层。而且,您似乎可以为一个 和/或另一个制作动画?!? 甚至可以将它们混合在一起?!?但为什么?线在哪里?各自的优缺点是什么?

Core Animation Programming Guide 立即跳转到图层和计时类,我认为需要退后一步,理解为什么存在这些不同的部分以及它们之间的关系。

最佳答案

使用 View 进行控制,使用图层来吸引眼球。图层不接收事件,因此在这些情况下使用 View 更容易,但是当您想要为 Sprite 或背景等设置动画时,图层就有意义了。事件直接通过层传递到支持 View ,因此您可以拥有漂亮的视觉表示而不会弄乱您的事件。尝试覆盖您仅用于视觉表示的 View ,您必须自己将点击事件传递到底层 View 。

关于ios - UIView 动画与 CALayers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1139737/

相关文章:

iOS 7 CAEmitterLayer 不恰本地产生粒子

ios - 使用 CALayer 的 <CAMediaTiming> 方法延迟隐式动画

objective-c - 在 iOS 中使用混合模式堆叠 UIView

ios - 如何在 iOS 上读取-修改-写入 PDF (CGPDFDocument)?

ios - 什么时候应该在SKSpriteNode上使用SKShapeNode?

ios - 从另一个 pickerView 选择项目时隐藏 pickerView 的行

ios - 如何在动画过程中改变 CALayer 的颜色?

ios - Amazon SDK Pod 无法编译?

ios - 如何使用滑动手势控制 2 个 UIView 状态之间的转换?

ios - UILabel 的边框很模糊