2013-02-21 51 views
0

我经常注意到,第一次出现键盘时,第一个成为第一个响应事件时UIView动画往往不流畅。我指的是使用键盘动画发生的动画,例如手动滚动UIView以使textField可见。第一次执行动画后,动画始终平稳。第一个键盘外观的动画有时不光滑

有这样的技术原因吗?我在想,可能会在第一次运行时发生UIView动画的延迟加载或优化,然后存储在缓存中以供重用。有没有经验教训?如果对这些读者不明确,我可以尝试在测试项目中重新创建问题。

回答

1

虽然这并没有回答问题为什么会发生这种情况,它解释了如何解决它。

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

基本上,你需要做动画的“DID”事件,而不是“将要”或“应该”。该系统在“意志/应该”事件期间执行它的动画,所以显然存在一些勾结发生。这并不能解释为什么第一次运行和所有其他运行之间的行为不一致。

我想,可能你们中的一些人认为我应该把动画放在“textFieldWillBeginEditing”中,因为我想让动画与键盘动画同时运行。幸运的是,将动画代码放在“DID”中实际上仍然可以确保动画同时发生。太棒了。

如果任何人仍然有解释第一次和第二次运行之间的不一致性,我仍然会保持他的问题公开,并向您提供upvote和问题答案。谢谢!