第一个键盘外观animation有时不顺畅

我经常注意到,当第一次出现键盘时,第一个成为第一个响应事件的时候,UIViewanimation通常是不stream畅的。 我指的是与键盘animation发生的animation,例如手动滚动UIView以使textField可见。 animation在第一次执行后总是平滑的。

有这样的技术原因吗? 我在想,在第一次运行时可能会有一些惰性加载或优化发生在UIViewanimation中,然后存储在caching中以供重用。 有没有经验教训? 如果对这个观众不清楚,我可以尝试在testing项目中重新创build问题。

虽然这并不回答为什么发生这个问题,它解释了如何解决它。

为什么iOSanimation在第一次运行时会变慢?

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

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

如果还有人解释了第一次和第二次的不一致之处,我仍然会把他的问题公之于众,并给你一个赞成和问题的答案。 谢谢!