UITextField没有得到键盘输入

FD_*_*FD_ 10 keyboard uitextfield ios ios6

我在将文本输入到SVProgressHUD下的UITextField时遇到了麻烦(基本上是带有全屏透明UIWindow的UIView和一些显示文本和自定义绘制进度条的UIView子视图).

我的问题是UITextField显示闪烁的光标和键盘显示,但是当我点击一个键时,没有任何内容输入到文本字段.我只看到光标的闪烁中断就像正常一样.有趣的是,后退(删除)键有效(它确实删除了UITextView中的最后一个字母),但没有任何其他键.

我正在使用iOS 6.

任何帮助将受到高度赞赏.

编辑:当没有显示SVProgressHUD时,相同的UITextField工作正常.这让我觉得它与第一个响应者有关,但我已经尝试过调用resignFirstResponderSVProgressHUD的每个窗口和子视图,但它仍然不起作用.

FD_*_*FD_ 35

我终于找到了问题:SVProgressHUD makeKeyAndVisible在初始化时调用,因为它希望接收键盘通知以进行重新定位.我查了一下"关键窗口"究竟是什么,并找到了:

...关键窗口响应用户输入...

现在,由于SVProgressHUD的UIWindow是keyWindow,我的另一个窗口(包含UITextField)没有获得用户输入.

我终于打电话makeKeyWindow给AppDelegate的窗口,一切正常.

我希望这有助于任何有类似问题的人.

  • 在我的情况下,情况正好相反.我的UITextField在与AppDelegate不同的窗口内,但是一个警报将焦点带回AppDelegate.在正确的UIWindow对象上执行`makeKeyWindow`为我修复它.谢谢你指点我正确的方向. (3认同)
  • 我不知道为什么这个答案现在没有几百个赞成票.非常感谢! (2认同)