iOS文本字段停止响应按键事件。为什么?

时间:2012-12-02 04:34:45

标签: ios uitextfield keypress

我可以让我的应用程序进入UITextField控件停止响应按键的状态。

我仍然有一个闪烁的插入符号。键盘出现了。正确调用了UITextField委托方法。

唯一的问题是关键新闻事件不起作用。这似乎发生在我调用以下UIViewController方法之后:

- (void)transitionFromViewController:(UIViewController *)fromViewController
                    toViewController:(UIViewController *)toViewController 
                            duration:(NSTimeInterval)duration 
                             options:(UIViewAnimationOptions)options 
                          animations:(void (^)(void))animations 
                          completion:(void (^)(BOOL finished))completion;

任何可能导致这种情况的想法?如何预防或修复它?

感谢。

2 个答案:

答案 0 :(得分:0)

完成转换后,请尝试

[yourTextField becomeFirstResponder]

答案 1 :(得分:0)

代码已经在需要的地方调用了becomeFirstResponder,这就是为什么键盘出现并且插入符号闪烁的原因。

但是,您的应用还需要接受按键操作。您的应用程序窗口必须是关键窗口。

原来这是因为在网络操作期间使用了一个窗口,该窗口在其上有一个等待指示器。

那个窗口正在成为关键窗口。

当等待指示器窗口被解除时,主应用程序窗口未被指定为关键窗口。

因此,在我的应用程序委托中,我添加了以下行:

[waitIndicatorWindow resignKeyWindow];
[waitIndicatorWindow removeFromSuperview];
waitIndicatorWindow = nil;

[self.window makeKeyWindow]; <- added this line to fix the problem.