尝试将tableview滚动回顶部,但是当我调用它时:
[self.tableView setContentOffset:CGPointMake(0, -self.tableView.contentInset.top) animated:YES];
有时它会一直工作并滚动到顶部,但奇怪的是它并没有一直向上。
答案 0 :(得分:1)
尝试其中一种,
[self.tableView setContentOffset:CGPointMake(0, 0 - self.tableView.contentInset.top) animated:YES];
或者
UITableView是UIScrollView的子类,因此您也可以使用:
[mainTableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
或者
[mainTableView setContentOffset:CGPointZero animated:YES];
或者
NSIndexPath* top = [NSIndexPath indexPathForRow:NSNotFound inSection:0];
[tableView scrollToRowAtIndexPath:top atScrollPosition:UITableViewScrollPositionTop animated:YES];
编辑你的
- (void)tabBarController:(UITabBarController *)tabBarController
didSelectViewController:(UIViewController *)viewController
如下所示,
- (void)tabBarController:(UITabBarController *)tabBarController
didSelectViewController:(UIViewController *)viewController
{
static UIViewController *previousController = nil;
if (previousController == viewController) {
// the same tab was tapped a second time
if ([viewController respondsToSelector:@selector(scrollToTop)]) {
[viewController scrollToTop];
}
}
previousController = viewController;
}
希望这会对你有所帮助。