2012-06-29 2 views
0

Мой взгляд содержит UITableViewController который имеет UITextFields, где может быть введен какой-либо текст. Я настраиваю высоту UITableView, когда клавиатура появляется/исчезает. Он отлично работает.Как убрать клавиатуру перед нажатием UIViewController в navigationController

Теперь у меня UIAlertView с UITextField в нем. Пользователь вводит текст в UITextField в UIAlertView &, когда Ok нажата, я нажимаю еще UIViewController. Проблема в том, что я возвращаюсь к виду, которое оно завинчивается. Причина в том, что уведомление KeyboardWillHide никогда не запускается &, поэтому высота таблицыView - это высота кадра приложения - высота клавиатуры.

Любые предложения по его исправлению? Я позвонил [resignFirstResponder] в - (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex, но не помог. Я даже решительно вызвал KeyboardWillHide, но это тоже не помогло.

Любые предложения?

+0

Когда это происходит, клавиатура все еще находится на экране или это единственная проблема с размером окна? –

+0

клавиатура нет. Проблема в том, что высота кадра не корректируется. –

+2

Но в идеале вы не должны использовать UITextField внутри вашего UIAlertView. UIAlertView используется для отображения любого предупреждения и принятия соответствующего решения. Не вводить текст. – AJS

ответ

1

Я вызывал removerObserver в viewWillDisappear. viewWillDisappear вызывался до вызова клавиатуры. Решение было перемещено removeObserver для просмотраDidDisappear. Это сделал трюк.

+0

ok ребята, это добавило еще одну проблему в случаях, когда новый вид содержит клавиатуру. Таким образом, я переместил obeservers обратно в viewWillAppear/Disappear. Теперь я фиксирую рамку таблицы в viewWillAppear –

Смежные вопросы