UITableView setContentOffSet导致不必要的滚动到顶部

时间:2014-09-17 12:42:51

标签: ios objective-c uitableview uiscrollview uirefreshcontrol

当我的视图加载从api中获取数据时,我正在模拟拉动刷新。

[refreshControl beginRefreshing];
CGPoint newOffset = CGPointMake(0, -refreshControl.frame.size.height);
[tableView setContentOffset:newOffset animated:YES];

当数据返回时,它会停止刷新控件,重新加载tableview和

 [refreshControl endRefreshing];   
 [_postsTableView setContentOffset:CGPointZero animated:YES];

如果在桌面视图的顶部是好的,但是如果在中间或底部,它会不受欢迎地滚动到顶部。

1 个答案:

答案 0 :(得分:4)

看起来你可以把它包起来以避免不良行为:

if (_postsTableView.contentOffset.y < 0) {
    [_postsTableView setContentOffset:CGPointZero animated:YES];
}