2010-04-14 154 views
0

我有UITableView具有大量內容(多個屏幕高度)的非常大的單元格。我需要將UITableView滾動到這些單元格內的某個位置。我找到了方法scrollToRowAtIndexPath:atScrollPosition:animated:如果你有小單元(小於一個屏幕),那麼它就可以工作,然後你可以命令UITableView滾動,所以需要的單元出現在屏幕的頂部(例如)。但是,當你獲得非常大的細胞時,這根本無濟於事。我需要UITableView滾動到我的大單元格內的某個位置,如scrollToRowAtIndexPath,但除了單元格編號外,還接受像素偏移量。有人有什麼想法?或者,也許現成的解決方案...將不勝感激任何幫助UITableView滾動非常大的單元格

回答

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]; 
} 
+0

哇,真的setContentOffset節省了一天,謝謝! – Mike 2010-04-14 22:29:12

相關問題