Заставить UITableView перейти на верхнюю строку - PullRequest
2 голосов
/ 25 октября 2010

Иногда я перезагружаю данные таблицы, и мне нужно перерисовать таблицу, чтобы я снова увидел данные из первой строки.Теперь я делаю следующее:

NSIndexPath *ip = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView selectRowAtIndexPath:ip animated:NO scrollPosition:UITableViewScrollPositionTop ];
[self.tableView deselectRowAtIndexPath:ip animated:NO]; 

Это не идеально, потому что возникает раздражающая вспышка, когда строка 0 выбрана и сразу же отменена.

Как я могу это исправить?

Ответы [ 3 ]

13 голосов
/ 25 октября 2010

Вы можете использовать метод UITableView scrollToRowAtIndexPath:atScrollPosition:animated:.

[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
2 голосов
/ 04 октября 2012

Если у вас есть заголовок, который отображается по умолчанию, и вы хотите компенсировать, если действие вызывается, когда список находится в движении, используйте:

[tableview setContentOffset:CGPointMake(0.0, 0.0) animated:NO];

Короткий, простой, эффективный.

1 голос
/ 25 октября 2010

Вы можете установить смещение содержимого таблицы (0., 0.).

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