2013-02-21 49 views
0

我經常注意到,第一次出現鍵盤時,第一個成爲第一個響應事件時UIView動畫往往不流暢。我指的是使用鍵盤動畫發生的動畫,例如手動滾動UIView以使textField可見。第一次執行動畫後,動畫始終平穩。第一個鍵盤外觀的動畫有時不光滑

有這樣的技術原因嗎?我在想,可能會在第一次運行時發生UIView動畫的延遲加載或優化,然後存儲在緩存中以供重用。有沒有經驗教訓?如果對這些讀者不明確,我可以嘗試在測試項目中重新創建問題。

回答

1

雖然這並沒有回答問題爲什麼會發生這種情況,它解釋瞭如何解決它。

Why are iOS animations slow the first time they are run?

基本上,你需要做動畫的「DID」事件,而不是「將要」或「應該」。該系統在「意志/應該」事件期間執行它的動畫,所以顯然存在一些勾結髮生。這並不能解釋爲什麼第一次運行和所有其他運行之間的行爲不一致。

我想,可能你們中的一些人認爲我應該把動畫放在「textFieldWillBeginEditing」中,因爲我想讓動畫與鍵盤動畫同時運行。幸運的是,將動畫代碼放在「DID」中實際上仍然可以確保動畫同時發生。太棒了。

如果任何人仍然有解釋第一次和第二次運行之間的不一致性,我仍然會保持他的問題公開,並向您提供upvote和問題答案。謝謝!