我有一个包含3个部分的表格视图:“昨天,今天,明天”。启动表视图时,我希望“今日”部分成为最上面可见的部分。因此,我使用此功能:
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:1] atScrollPosition:UITableViewScrollPositionTop animated:NO];
当表格视图的内容大小超出其内容大小,因此可以滚动时,此方法会很好地工作。问题是例如每个节仅包含1个单元格。然后整个表将适合屏幕,因此上面的代码将不会触发,因为无论如何它都会回弹。
有人知道解决方案吗?
最佳答案
尝试设置表格的edgeInsets。这将以您指定的偏移量开始绘制表格。
UIEdgeInsets edgeInsets = UIEdgeInsetsMake(someValue, 0, 0, 0);
self.tableView.contentInset = edgeInsets;
计算
someValue
的位置,以将表放到所需位置。