2

我们有一个 UITableViewCell ,其中包含一个像手风琴列表一样工作的行列表。

当用户单击手风琴 tableview 单元格时,它将展开 tableview 并意味着将单元格向右推到顶部,无论它是哪一个。

我们用:

[tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES]

这会将一个单元格滚动到顶部,并且它适用于前几个单元格,但是越靠近底部,UITableViewCell 越不可能冒泡到视图的顶部。

最后的 2 或 3 个单元格不会进入 tableview 的顶部。

我相信这是一个内容插入问题并且已经尝试过;

myTableView.contentOffset = CGPointZero;

我也试过

[tableView scrollRectToVisible:CGRectMake(0, 0, tappedCell.bounds.size.width, tappedCell.bounds.size.height) animated:YES];

但这些不会使底部的几个细胞冒泡到顶部。

我想知道,是否可以将给定的 UITableViewCell 强制到 tableview 的顶部,并确保内容偏移强制在其下方填充,以确保它具有强制填充整个 tableview 区域的填充。

现在谢谢。

4

1 回答 1

0

UITableView 的内容高度等于它包含的所有单元格的总高度。UITableView 继承 UIScrollView 并且滚动受其内容大小的限制。您可以尝试通过它的 contentSize 属性显式设置表的内容大小,例如:

tableView.contentSize = CGSizeMake(tableView.frame.size.width, cellsCount * cellHeight + someNumber);).

如果这没有帮助,那么您可以更改表格的 contentInset,例如:

tableView.contentInset = UIEdgeInset(0, 0, someNumber, 0);
于 2013-11-13T18:35:28.943 回答