UITableView滚动非常大的单元格

时间:2010-04-14 21:57:29

标签: iphone uitableview

我有UITableView,非常大的单元格有很多内容(超过一个屏幕高度)。我需要将UITableView滚动到这些单元格中的某个位置。我找到了方法scrollToRowAtIndexPath:atScrollPosition:animated:如果你有小单元格(少于一个屏幕),它可以正常工作,然后你可以命令UITableView滚动,所以所需的单元格出现在屏幕的顶部(例如)。但是当你有非常大的细胞时,这根本没有用。我需要UITableView滚动到我的大单元格中的某个位置,类似于scrollToRowAtIndexPath,但除了单元格数之外还接受像素偏移。有人有任何想法吗?或者可能是现成的解决方案...感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

由于UITableViewUIScrollView的子类,因此您可以在表上使用滚动视图方法。具体而言,setContentOffset:animated:

- (void) scrollToRowAtIndexPath:(NSIndexPath *)indexPath offset:(CGFloat)offset animated:(BOOL)animated {
  CGRect rowFrame = [self.tableView rectForRowAtIndexPath:indexPath];
  CGPoint origin = rowFrame.origin;
  origin.y += offset;
  [self.tableView setContentOffset:origin animated:animated];
}