第一次键盘出现时的动画有时不流畅

Posted

技术标签:

【中文标题】第一次键盘出现时的动画有时不流畅【英文标题】:Animations during first keyboard appearance is sometimes not smooth 【发布时间】:2013-02-21 16:46:23 【问题描述】:

我经常注意到,当键盘第一次出现时,UIView 动画在第一次 becomeFirstResponder 事件期间往往不流畅。我指的是随着键盘动画发生的动画,例如手动滚动 UIView 以使 textField 可见。动画在第一次执行后总是很流畅。

出现这种情况是否有技术原因?我在想,第一次运行时 UIView 动画可能会发生一些延迟加载或优化,然后存储在缓存中以供重用。有没有关于这方面的经验教训?如果这些观众不清楚,我可以尝试在测试项目中重新创建问题。

【问题讨论】:

【参考方案1】:

虽然这不能回答为什么会发生这种情况的问题,但它解释了如何解决它。

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

基本上,您需要为“DID”事件而不是“WILL”或“SHOULD”事件制作动画。系统在“将/应该”事件期间执行其动画,因此显然发生了一些勾结。这不能解释为什么第一次运行和所有其他运行之间的行为不一致。

和你们中的一些人一样,我认为我应该将动画放在“textFieldWillBeginEditing”中,因为我希望动画与键盘动画同时运行。幸运的是,将动画代码放入“DID”实际上仍然可以确保动画同时发生。极好的。

如果有人仍然对第一次和第二次运行之间的不一致有任何解释,我仍然会保留他的问题并奖励你一个赞成票和问题答案。谢谢!

【讨论】:

以上是关于第一次键盘出现时的动画有时不流畅的主要内容,如果未能解决你的问题,请参考以下文章

添加新按钮并替换现有按钮并以流畅的动画消失

如何在 Facebook 页面顶部菜单中创建动画?

更流畅的 Jquery 动画

按下按钮时的 UIView 动画 - 第一次尝试时不可见

iOS Cordova App 上的键盘响应缓慢

第二次点击后出现文本字段的键盘(不时)