0

第一次在应用程序中调用键盘时总会有延迟(2-3 秒)。有没有改善这种体验的方法或技巧?我尝试使用 NSTreading,但如果我使用 [textfield becomeFirstResponder],它会因错误“仅在主线程上执行”而崩溃;有任何想法吗?

4

2 回答 2

1

作为一般规则,除非文档明确说明它是线程安全的,否则不要尝试从后台线程触摸 UI 元素。

在您的情况下,尝试在后台预加载键盘将不起作用。请记住,键盘不仅仅在您的应用程序中创建,而是在整个系统中共享。这意味着如果系统决定它需要清理一些内存,如果它不可见,它很可能会“取消缓存”键盘。

如果这发生在模拟器中,那很可能是因为您在每次测试运行后都退出了模拟器。因此,每次运行测试时都必须加载键盘。但是,如果这发生在设备上,那么很可能您的设备经常内存不足。

话虽如此,如果即时显示非常重要,您总是可以尝试使用旧技巧,即制作隐形的UITextField第一响应者,然后立即辞职第一响应者以强制键盘加载。

于 2013-10-11T01:17:47.657 回答
-2

也许尝试不同的键盘?或尝试进入设置并查看输入选项,然后转到键盘。大多数时候是因为编程滞后,或者你有更多的程序在后台运行

于 2013-10-11T01:07:27.177 回答