Существует некоторая путаница
Согласно документации Apple по UIScrollView :
scrollsToTop
Булево значение, которое управляет прокруткой.Жест-на-верх эффективен
Это просто сказать scrollview, что прикосновение к строке состояния сделает просмотр прокрутки к вершине.
scrollToRowAtIndexPath: atScrollPosition: animated:
Прокручивает получатель до тех пор, пока строка, идентифицируемая индексным путем, не окажется в определенном месте на экране.
С three20
Поскольку вы используете three20
, то, что вы хотите сделать, может быть легко сделано благодаря UITableView+Additions.h
> - (void)scrollToFirstRow:(BOOL)animated
[self.tableView scrollToFirstRow:YES];
Без three20
Если не использовать three20
, вот как three20
делает:
- (void)scrollToFirstRow:(BOOL)animated {
if ([self numberOfSections] > 0 && [self numberOfRowsInSection:0] > 0) {
NSIndexPath* indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop
animated:NO];
}
}
Другой способ сделать это
Я думаю, что это также будет работать (не проверено), используя UIScrollView напрямую (тоже извлечено из three20
):
- (void)scrollToTop:(BOOL)animated {
[self setContentOffset:CGPointMake(0,0) animated:animated];
}
или:
[self.tableView setContentOffset:CGPointMake(0,0) animated:YES];