iOS: 对于 64 位上的 Core Animation 问题,是否有任何解决方案?

iOS: Is there any solution yet for Core Animation problems on 64-bit?

我们最近将我们的应用程序转换为完全 64 位兼容性,现在整个应用程序中的 CABasicAnimations 在 64 位设备上失败(动画已经在所有设备上运行多年)。有人问了一个问题 here,但没有收到任何回复。目前关于这个问题的知识是什么?我找不到太多关于它的文章。

我不确定这是否回答了你的问题,但它可能是相关的。

UIView 使用 UIViewAnimationOptionBeginFromCurrentState 的动画不再中断现有动画 iOS 8. 取消动画现在必须使用 removeAnimationForKey.[=13 显式完成=]

也许如果您更详细地描述了 "failing" 的含义并提供了一个演示错误行为的简短代码片段,则可能会有不同的解决方案。

瞎猜:从 32 位到 64 位时出现问题的一个常见原因与 size of data types such as floats, integers, longs 等有关

说到动画,可能的罪魁祸首是浮点值。如果您在代码中使用了 float,那么您可能运气不好。实际上,框架期望 CGFloat 表示浮点数,因此编译器会进行隐式转换。哦,另一方面,float 没有改变它们的大小,而 CGFloat 有(从 32 位到 64 位)。这可以解释您遇到的普遍问题。