使用UITextField呈现UIViewController时滞后?

时间:2016-05-10 20:37:54

标签: ios xcode uiviewcontroller storyboard uitextfield

第一次呈现UIViewController时会出现明显的延迟。问题已经减少到UITextField,即删除UITextField消除了滞后。

延迟仅在第一次呈现UIViewController时(启动应用程序后)。随后的时间没有滞后。如果您终止应用程序并重新启动它,则会在第一次呈现UIViewController时再次出现延迟。

这似乎是一个已知问题,但其他SO答案提出的解决方案没有帮助。例如,取消选中Storyboard中的“Enabled”属性并不能解决问题,也不会在调试器中运行应用程序。

注意:这不是键盘出现的问题,如SO question

有关变通方法的任何建议吗?

2 个答案:

答案 0 :(得分:0)

问题在于是否存在自定义字体。

换句话说,使用UITextField上的系统字体而不是自定义字体可以消除延迟。没有解释原因,但它确实有效。

答案 1 :(得分:0)

如果字体规范不正确,使用自定义字体会导致延迟,因为它会导致iOS枚举尝试查找匹配项的字体。

在这种情况下,使用iOS8和iOS9之间存在一些差异的字体会导致iOS8设备出现延迟。在代码的非关键部分中加载字体可解决此问题。