第一次呈现UIViewController时会出现明显的延迟。问题已经减少到UITextField,即删除UITextField消除了滞后。
延迟仅在第一次呈现UIViewController时(启动应用程序后)。随后的时间没有滞后。如果您终止应用程序并重新启动它,则会在第一次呈现UIViewController时再次出现延迟。
这似乎是一个已知问题,但其他SO答案提出的解决方案没有帮助。例如,取消选中Storyboard中的“Enabled”属性并不能解决问题,也不会在调试器中运行应用程序。
注意:这不是键盘出现的问题,如SO question。
有关变通方法的任何建议吗?
答案 0 :(得分:0)
问题在于是否存在自定义字体。
换句话说,使用UITextField上的系统字体而不是自定义字体可以消除延迟。没有解释原因,但它确实有效。
答案 1 :(得分:0)
如果字体规范不正确,使用自定义字体会导致延迟,因为它会导致iOS枚举尝试查找匹配项的字体。
在这种情况下,使用iOS8和iOS9之间存在一些差异的字体会导致iOS8设备出现延迟。在代码的非关键部分中加载字体可解决此问题。