如何禁用UITextField键盘而不隐藏它?

时间:2011-05-06 18:29:29

标签: uikeyboard

我有一个动画,在此期间我想要禁用键盘而不是隐藏它。我甚至试过self.view.userInteractionEnabled = NO;,但那隐藏了键盘。我想它必须调用resignFirstResponder

2 个答案:

答案 0 :(得分:1)

要禁用所有内容,您可以使用

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];

在你开始动画之前

[[UIApplication sharedApplication] endIgnoringInteractionEvents];
动画结束后

,例如,在其完成块中。

答案 1 :(得分:0)

您可以通过执行以下操作来禁用键盘而不将其取消:

NSArray *windows = [UIApplication sharedApplication].windows;
if ([windows count] > 1) {
    UIWindow *keyboardWindow = windows[1];
    keyboardWindow.userInteractionEnabled = NO;
}

但是,它显然非常hackish&脆弱,我不确定它是否符合Apple的条款。