Как определить, что пользователь iPad нажал на клавиатуру?
В моем приложении у меня есть сложная логика, окружающая скрытие и отображение клавиатуры. Я заинтересован в обнаружении, когда пользователь (у которого есть iPad) специально нажимает на кнопку скрыть клавиатуру iPad:
![alt text]()
Мне не интересно обнаруживать, когда клавиатура должна скрываться, только когда пользователь на самом деле физически нажимает эту кнопку. Любые предложения?
Спасибо!
Ответы
Ответ 1
Я искал то же самое решение, и я нашел его в документации в конце концов. Вы получаете полный набор уведомлений о клавиатуре:
- UIKeyboardWillShowNotification
- UIKeyboardDidShowNotification
- UIKeyboardWillHideNotification
- UIKeyboardDidHideNotification
- UIKeyboardWillChangeFrameNotification
- UIKeyboardDidChangeFrameNotification
Меня интересовала "UIKeyboardWillHideNotification". Так просто реализовано:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(KeyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
Et voilà! Надеюсь, что это поможет, даже если это на год позже.
Ответ 2
Я не думаю, что Apple это допускает, я боюсь.
Но, возможно, вы могли бы создать невидимое представление (view.opaque = FALSE; view.alpha = 0;
), которое было бы расположено над вышеупомянутой кнопкой, которая получает штрихи в качестве первого ответчика (так что вы получите событие), а затем переходите к следующему (клавиатуре). Однако я не знаю, возможно ли разместить над клавиатурой представление даже "незаконно".