【问题标题】:In iOS, what's the difference between UIView Animations and Core Animations?在 iOS 中,UIView Animations 和 Core Animations 有什么区别?
【发布时间】:2026-02-21 02:30:01
【问题描述】:

例如,我认为 CGAffineTransform 是核心动画。我知道如何在核心动画中旋转对象、缩放和移动对象,但有没有办法在 UIView 动画中做到这一点?

【问题讨论】:

    标签: ios uiview core-animation uiviewanimation


    【解决方案1】:

    Apple 在其文档中描述:

    “在 iOS 中,动画被广泛用于重新定位视图、更改 它们的大小,从视图层次结构中删除它们,然后隐藏它们。”

    View Programming Guide - Apple

    本文继续强调使用 Core Animations 而不是 UIView Animations 来制作更详细的动画。

    “在您想要执行更复杂的动画的地方,或者 UIView 类不支持的动画,可以使用 Core 动画和视图的底层来创建动画。 因为视图和图层对象错综复杂地链接在一起, 对视图层的更改会影响视图本身。”

    Same Doc - View Programming Guide - Apple

    所以基本上说,你操纵视图的层来改变视图。我认为当核心动画为此目的而存在时直接操作视图是不明智的。所以我自己的回答是否定的,你不能(也可能不应该)用 UIAnimations 对 UIView 做你可以用 Core Animations 对 Layer 做的事情。

    更多信息: Core Animation Programming Guide 来自苹果

    我希望这有助于回答您的问题,并且所提供的资源将有助于您进一步深入了解您的问题。

    【讨论】: