[tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
这个方法可以让tableView指定滑到某一行的顶部,但是有时候会失灵,比如你点击第8行,想让第8行滑到tableview的最上方,可是却发现没有滑到最上面去,这时候你又试着点击第2行,发现可以滑到tableview的最上方,这是为什么呢?难道方法有误?
方法当然不会有错,原因是你的第8行以下的内容不足以支撑tableview的高度了。这时候要检查一下你点的那一行下面还有多少内容。
如果你说你的cell是可以展开的,虽然未展开的时候内容不够了,但是展开了内容就足以填充tableview的高度了,为什么还是没有滑到tableview的最上面去呢?注意,如果你点击cell要刷新高度,需要先执行reloadRowsAtIndexPaths或者reloadData,再执行[tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES]方法。