【发布时间】:2012-02-24 20:47:37
【问题描述】:
问题
在大多数 iPhone 应用程序中,第一次出现键盘时会有相当长的延迟(可能创建键盘需要相当长的时间,即使在 iPhone 4 上也是如此)。
大多数人似乎都可以接受。我不是,这真的让我很烦 - 而且我的应用程序呈现方式,用户会非常困惑,当他们第一次点击文本字段时,几秒钟内什么都没有发生。
我的尝试
谷歌搜索它带来了一种解决方案 - 不幸的是,这在 iOS 4 (see here) 中无效。
我不认为解决方案很容易找到,如果我可以立即为此提供赏金,我会的。如果有人想出解决方案,我会非常激动。解决方案所需要做的就是在用户不知情的情况下加载键盘。
所以..
任何想法都值得赞赏。完整的、可工作的代码(适用于 iOS 4 和 5)值得赏金(即使赏金必须稍后提供!)。
如果找到解决方案,我计划创建一个自包含的“KeyboardPreloader”类,人们可以将其放入他们的项目中,并使用一行代码预加载键盘:)
【问题讨论】:
-
我不能说我真的注意到任何延迟。这种延迟出现在手机上的所有应用程序中还是仅出现在您正在开发的应用程序中?如果它与所有其他应用程序中的延迟相同,那么您可能无能为力。如果仅在您的应用中,请向我们展示相关代码。
-
@sosborn [textField becomeFirstResponder]。我在其他一些应用程序中注意到了它,并且写上面链接的博客的人也注意到了它。也许它只发生在某些情况下 - 如果是这种情况,那么知道这些情况是什么就是答案。
-
那么,您的应用在加载键盘时是否在执行其他操作?是否有任何 UI 元素正在更新?有很多事情可能会影响到这一点,甚至与您的应用无关的事情(后台进程等)
-
@sosborn 不,展示键盘是它唯一的作用。如果我有时间,我会创建一个有问题的迷你项目:)
-
如何将文本字段设为 firstResponder,然后在 viewdidload 中将其退出。当再次加载键盘时,这似乎没有延迟...
标签: ios objective-c performance uikeyboard