UITableView滚动到内容大小内的部分

时间:2012-07-03 10:03:18

标签: ios ipad uitableview uiscrollview

我有一个包含3个部分的表视图,“昨天,今天,明天”。当表视图启动时,我希望“今天”部分是最可见的部分。因此我使用此功能:

[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:1] atScrollPosition:UITableViewScrollPositionTop animated:NO];

当表视图填充超出其内容大小时,这可以正常工作,因此它可以滚动。问题是例如每个部分仅包含1个单元格。然后整个表格将适合屏幕,因此上面的代码不会被激活,因为无论如何它都会回弹。

任何人都知道解决方案吗?

2 个答案:

答案 0 :(得分:1)

尝试设置表格的edgeInsets。这将按您指定的偏移量开始绘制表格。

UIEdgeInsets edgeInsets = UIEdgeInsetsMake(someValue, 0, 0, 0);
self.tableView.contentInset = edgeInsets;

您计算someValue以将表格缩小到您想要的位置。

答案 1 :(得分:1)

我自己回答这个问题,因为实际上没有任何想法。

从我的理解,这是不可能实现的。如果可以,表视图将尝试滚动到该行。使其工作的唯一方法是将内容大小设置为足以使表滚动。