Как обновить мой UITableView с UISearchBar после нажатия кнопки отмены UISearchBar? - PullRequest
5 голосов
/ 15 сентября 2011

Я использую UITableView с UISearchBar поверх представления таблицы, для меня все работает нормально, за исключением одной проблемы, например, если я ищу букву, результаты поиска в uitableview фильтруются, и после этого все нормально,если я прокручиваю результаты поиска до конца моего просмотра таблицы, то, если я нажимаю кнопку отмены на панели управления пользователя, просмотр таблицы обновляет все данные, но он отображается не из первой ячейки, а из (примерно 25-й ячейки), как, например, прокруткав моем результате поиска такая большая длина после его отображения после нажатия кнопки отмены. Я не знаю, в чем заключается проблема, я также вызываю перезагрузку данных, мне нужно отобразить просмотр таблицы, когда она загружается в начале.

Любая помощь приветствуется. Спасибо.

Ответы [ 2 ]

12 голосов
/ 15 сентября 2011

В вашем методе - (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar Delegate, который обрабатывает кнопку Отмена, вы можете добавить немного кода для прокрутки назад к верхней части табличного представления, например, так:

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
    // ... Code to refresh the Table View

    // Reload the Table View
    [self.tableView reloadData];

    // Scroll to top
    [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
}

Возможно, вам придется поиграть с позицией прокрутки. Вместо UITableViewScrollPositionTop может потребоваться использовать UITableViewScrollPositionMiddle или UITableViewScrollPositionBottom или даже UITableViewScrollPositionNone

1 голос
/ 15 сентября 2011

Вызовите следующий метод в вашем табличном представлении:

[self.tableView reloadData];

Затем он обновляет ваш вид таблицы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...