UITableView beginUpdates endUpdates滚动到单元格的顶部

时间:2015-12-17 10:11:07

标签: ios objective-c iphone uitableview

这就是我正在做的事情,以便在UITableView beginUpdates之后将重点放在同一点上:

CGPoint offset = tableMessageDetail.contentOffset;
// CGPoint textPoint = [self.view convertPoint:cell.txtReply.frame.origin toView:nil];
[tableMessageDetail beginUpdates];
[tableMessageDetail endUpdates];
[tableMessageDetail setContentOffset:offset animated:NO];
//[tableMessageDetail scrollRectToVisible:CGRectMake(cell.frame.origin.x, cell.frame.origin.y, cell.frame.size.width, cell.frame.size.height) animated:YES];  

但是,endUpdates之后的位置,当细胞太高时,会出现在细胞顶部。我也尝试过评论方法,但这也不完美。

1 个答案:

答案 0 :(得分:0)

给出一个想法,希望这会有所帮助: 在设置contentOffset之前,删除tableView图层上的所有动画。

[tableView.layer removeAllAnimations];
[tableView setContentOffset:offset animated:NO];

然后,

[tableView scrollToRowAtIndexPath:cell.indexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];