键盘显示为iOS应用程序但文本字段没有响应(键盘按钮也没有)

时间:2014-05-02 15:50:02

标签: ios cocoa user-interface keyboard uitextfield

我有UITextField被设置为first responder,之后我已经验证它已被设置为first responder,并且键盘也会弹出。

然而,当我尝试在键盘上输入时,没有输入任何内容,而且键也没有点亮。

一个非常奇怪的事情是,当我插入蓝牙物理键盘时,我能够输入字段中的字符!然后,当我关闭键盘并再次出现虚拟键盘时,我无法输入。

我在网上寻找解决方案,但无济于事。我为makeKeyAndVisible致电UIWindow,这是某人建议的解决方案。

4 个答案:

答案 0 :(得分:4)

我有类似的问题。我的问题是关键窗口的主视图框架小于窗口边界,因此虚拟键盘实际上在主视图框架之外。点击虚拟键盘绝对没有任何意义。

我会做什么: 1.检查关键窗口主视图的框架。 2.检查根视图控制器是否已分配给密钥窗口。

我在一个旧的代码库上遇到了这个问题,iPad应用程序没有主窗口的根视图控制器,因此在旋转后不会正确调整大小。

值得一试。

答案 1 :(得分:1)

您可以尝试的第一件事就是单独按下命令键,释放它然后开始输入。有时这可以在模拟器中启用键盘。

如果上一步失败,如果您使用的是模拟器,有时键盘会出现问题。要验证它不是您的代码,请在实际设备上运行并进行测试。

如果它在设备上运行,则清理项目,重置模拟器,关闭模拟器,重新启动XCode,再试一次。

如果问题仍然存在,请执行上述相同步骤,但在重新启动XCode之前重置计算机。

答案 2 :(得分:1)

您的键盘没有接收到触摸事件。视图发生这种情况的原因有很多。有些是

  1. 不可见的视图位于键盘前方并消耗触摸事件。一个好的工具,看看是否是这种情况是火花检查员(有一个免费的踪迹),从不同的角度显示你的应用程序中的所有视图,以发现意外的行为。

  2. 键盘有些禁用了用户交互。如果您在代码调出键盘之前将当前父视图设置为启用用户交互,则可以帮助您排除这些可能性。

答案 3 :(得分:0)

您应该重置iOSSimulator,其内容和设置,然后退出并重新启动iOS模拟器。它奏效了。

当你从SVN更新代码时,确实发生了这种情况。清理代码,在从SVN更新源代码时重新启动模拟器,特别​​是使用Xcode5。