2012-06-28 2 views
1

Я хочу знать, когда моя клавиатура скроется, чтобы перейти к верхней части моего представления.Как узнать, когда скрывается клавиатура?

Когда я использую textFieldDidEndEditing, он работает, когда я не редактирую содержимое текстового поля, но не иначе.

Спасибо за ваши советы

ответ

4

Добавить наблюдатель как это:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:nil]; 

процесса событие так:

- (void)keyboardDidHide:(NSNotification *)notification { 
    NSLog(@"Keyboard did hide"); 
} 
1
- (BOOL)textFieldShouldReturn:(UITextField *)textField 

Возвращаемое значение

ДА, если текстовое поле должно реализовать свое поведение по умолчанию для кнопки возврата; иначе NO.

Для того, чтобы фактически скрыть клавиатуру, вам нужно позвонить

[textField resignFirstResponder]; 
2

Вы должны использовать UIKeyboardWillHideNotification, чтобы узнать, когда клавиатура будет скрывать. Существуют и другие уведомления для DidHide, WillShow и WillHide. Вы можете внести изменения в пользовательский интерфейс в ответ на эти уведомления, вместо того, чтобы следить за изменениями только из текстового поля.

У Apple есть documentation on how to respond to keyboard events, что вы также должны посмотреть.

+3

Осторожно: Это не срабатывает, если клавиатура раскол клавиатуры на IPad ('keyboardDid/WillShow 'также не срабатывают для разделенных клавиатур). – fzwo

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