在应用程序中第一次调用键盘时,总是会出现延迟(2-3秒)。有什么方法或技巧来改善这种体验吗?我试着使用NSTreading,但是如果我使用textfield becomeFirstResponder,它会在错误时崩溃--“只在主线程上执行”;有什么想法吗?
发布于 2013-10-11 01:17:47
一般情况下,不要尝试从后台线程中接触UI元素,除非文档明确声明它是线程安全的。
在您的示例中,尝试在后台预加载键盘将无法工作。请记住,键盘不仅仅是在您的应用程序中创建的-它是跨系统共享的。这意味着,如果系统决定它需要清除一些内存,它很可能会“不加”键盘,如果它是不可见的。
如果这是发生在模拟器,这很可能是因为你退出模拟器后,每次测试运行。因此,每次运行测试时都必须加载键盘。但是,如果这种情况发生在设备上,那么您的设备很可能经常内存不足。
也就是说,如果即时显示是非常重要的,那么您可以尝试使用旧的技巧,即制作一个不可见的UITextField第一个响应器,然后立即退出第一个响应程序,以强制键盘加载。
发布于 2013-10-11 01:07:27
或者换个键盘?或者尝试设置并查看输入选项,然后转到键盘。大多数情况下是因为编程滞后,或者后台运行了更多的程序。
https://stackoverflow.com/questions/19308661
复制相似问题