У меня есть несколько полей UITextFields (каждое внутри UITableViewCell). Когда клавиатура запускается из любого текстового поля, мне нужно сделать некоторые анимации, в основном для изменения кадра UITableView. То же самое должно произойти, когда клавиатура скроется.
Я сделал анимацию, так что проблема не в этом.
Теперь я использую NSNotificationCenter, чтобы отловить отображение / скрытие клавиатуры:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide) name:UIKeyboardWillHideNotification object:nil];
Проблема в том, что клавиатура видна (используется текстовое поле) и я нажимаю внутри другого текстового поля. Обычно для этого клавиатура не прячется, а остается видимой.
Он отлично работает в iOS 4, но проблема возникает в 3.1.3 (это версия, которую я могу протестировать - возможно, любая версия ниже 3.2). В версиях старше 3.2 изменение фокуса с текстового поля непосредственно на другое текстовое поле приведет к срабатыванию UIKeyboardWillHideNotification и UIKeyboardWillShowNotification.
Кто-нибудь знает способ выполнить некоторую анимацию, когда клавиатура действительно будет показывать / скрывать, без NSNotificationCenter?
Или как я могу решить эту проблему с версиями ниже 3.2?
Спасибо.