我有UITextField
被设置为first responder
,之后我已经验证它已被设置为first responder
,并且键盘也会弹出。
然而,当我尝试在键盘上输入时,没有输入任何内容,而且键也没有点亮。
一个非常奇怪的事情是,当我插入蓝牙物理键盘时,我能够输入字段中的字符!然后,当我关闭键盘并再次出现虚拟键盘时,我无法输入。
我在网上寻找解决方案,但无济于事。我为makeKeyAndVisible
致电UIWindow
,这是某人建议的解决方案。
答案 0 :(得分:4)
我有类似的问题。我的问题是关键窗口的主视图框架小于窗口边界,因此虚拟键盘实际上在主视图框架之外。点击虚拟键盘绝对没有任何意义。
我会做什么: 1.检查关键窗口主视图的框架。 2.检查根视图控制器是否已分配给密钥窗口。
我在一个旧的代码库上遇到了这个问题,iPad应用程序没有主窗口的根视图控制器,因此在旋转后不会正确调整大小。
值得一试。
答案 1 :(得分:1)
您可以尝试的第一件事就是单独按下命令键,释放它然后开始输入。有时这可以在模拟器中启用键盘。
如果上一步失败,如果您使用的是模拟器,有时键盘会出现问题。要验证它不是您的代码,请在实际设备上运行并进行测试。
如果它在设备上运行,则清理项目,重置模拟器,关闭模拟器,重新启动XCode,再试一次。
如果问题仍然存在,请执行上述相同步骤,但在重新启动XCode之前重置计算机。
答案 2 :(得分:1)
您的键盘没有接收到触摸事件。视图发生这种情况的原因有很多。有些是
不可见的视图位于键盘前方并消耗触摸事件。一个好的工具,看看是否是这种情况是火花检查员(有一个免费的踪迹),从不同的角度显示你的应用程序中的所有视图,以发现意外的行为。
键盘有些禁用了用户交互。如果您在代码调出键盘之前将当前父视图设置为启用用户交互,则可以帮助您排除这些可能性。
答案 3 :(得分:0)
您应该重置iOSSimulator,其内容和设置,然后退出并重新启动iOS模拟器。它奏效了。
当你从SVN更新代码时,确实发生了这种情况。清理代码,在从SVN更新源代码时重新启动模拟器,特别是使用Xcode5。