Как отключить клавиатуру UITextField, не скрывая ее?

У меня есть анимация, во время которой я хочу отключить клавиатуру, но не скрывать ее. Я даже пробовал self.view.userInteractionEnabled = NO;, но это скрывает клавиатуру. Думаю, он должен называть resignFirstResponder.

Ответ 1

Чтобы отключить все, вы можете использовать

[[UIApplication sharedApplication] beginIgnoringInteractionEvents];

перед началом анимации и

[[UIApplication sharedApplication] endIgnoringInteractionEvents];

после завершения анимации, например, в своем блоке завершения.

Ответ 2

Вы можете отключить клавиатуру, не отпуская ее:

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

Но это явно очень хакерское и хрупкое, и я не уверен, соответствует ли он условиям Apple.