2015-02-05 62 views
0

我們最近將應用程序轉換爲完整的64位兼容性,現在整個應用程序的CABasicAnimations在64位設備(在所有設備上工作多年的動畫)上都失敗了。有人問到here,但沒有收到任何迴應。目前關於這個問題的知識是什麼?我找不到很多有關它的文字。iOS:64位的Core Animation問題還有解決方案嗎?

回答

1

我不確定這是否回答您的問題,但它可能是相關的。使用UIViewAnimationOptionBeginFromCurrentState不再打斷現有的動畫作爲iOS的8取消動畫現在

UIView動畫必須與removeAnimationForKey明確完成。

也許如果您更詳細地描述了「失敗」意味着什麼,並提供了演示錯誤行爲的簡短代碼片段,則可能會對解決方案有不同的洞察。

+0

該行爲是非常不可預測的,動畫基本上閃爍並在屏幕上出現異常。代碼運行通過一個非常複雜的動畫框架,所以我不能真正發佈個別示例,但我會研究上述內容。不過,我會注意到,這是64位設備專有的,並且只有當arm64被添加到有效的arch時纔會發生,所以我不認爲上述問題。 – puzzl 2015-02-05 22:18:01

0

只是在黑暗中拍攝:從32位到64位的時候去的問題的常見原因是有關size of data types such as floats, integers, longs

動畫來講,可能是罪魁禍首的浮點值。如果你在代碼中使用了float,那麼也許你運氣不好。實際上,框架預計CGFloat表示浮點數,所以編譯器會進行這種隱式轉換。另一方面,float沒有改變它們的大小,而CGFloat有(從32到64位)。這可以解釋你遇到的普遍問題。