2010-03-04 57 views
0
-(CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
if([tableView.somethingMagicalHereThatAllowsMeKnowWhichCellItIs isEqualToString:@"CellType"]){ 
    return 50; 
} 
return 25;} 

我有不同類型的多個單元格的tableView,我想對它們進行相應的設計,但問題是我不知道它是什麼類型。我不能使用indexPath,因爲細胞沒有特定的順序。有沒有辦法顯示ID?如何查找UITableView Cell的名稱,ID或類型?

+1

當你實現數據源方法-tableView:cellForRowAtIndexPath:你確實知道爲任何給定的indexPath顯示哪個單元格,對吧?爲什麼不能在-tableView中使用相同的方法:heightForRowAtIndexPath:? – Costique 2010-03-04 16:04:23

回答

0

我通常會做的是從-tableView:cellForRowAtIndexPath:中刪除「表中的單元格」,並將其放入單獨的方法中。我如何命名這取決於我想要達到的目標。一種典型的情況是每個單元代表一個對象。在這種情況下,我定義像這樣的方法:

- (SomeObject*)objectForRowAtIndexPath:(NSIndexPath*)indexPath; 

然後,在兩者-tableView:cellForRowAtIndexPath:-tableView:heightForRowAtIndexPath:,我調用該方法,以找出哪些對象對應於該小區,然後創建所述細胞或相應地設置其高度。

相關問題