2013-05-11 7 views
3

У меня есть UITextField в верхней части моего представления таблицы, после того, как текстовое поле выбрано. Я хочу, чтобы клавиатура исчезла. Я знаю позвонить [[self view] endEditing:YES];, но я не знаю, как проверить свиток. Хорошим примером этого является IMessage, когда клавиатура находится в поле зрения, вы можете прокручивать ее вверх, чтобы свернуть ее, я хочу, чтобы мое представление таблицы работало обратно.Make Keyboard Disappear, когда UITableView Scrolls

ответ

4

UITableView является подклассом UIScrollView. Будучи таблица Делегат (реализации <UITableViewDelegate>) вы также мнение прокрутки делегата (<UIScrollViewDelegate>) и, таким образом можно реализовать:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 

Тогда вы будете получать уведомления всякий раз, когда прокручивается представление таблицы. Затем вы можете использовать scrollView.contentOffset, чтобы проверить, куда прокручивается таблица (в каком направлении она прокручивается).

0

Звоните resignFirstResponder, если необходимо.

Кажется, вы используете UITextField в своих ячейках. Используйте UITextFieldDelegate протокол, чтобы знать, когда UITextField концы редактируется:

-(void)textFieldDidEndEditing:(UITextField*)textField 
{ 
    [textField resignFirstResponder]; 
} 
2
- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    [textField resignFirstResponder]; 
} 

Попробуйте другой метод в UIScrollViewDelegate, если вам нужно другое поведение.

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