2011-05-09 67 views
-2

有沒有辦法給分組的tableview中的每個單元格增加一個數字作爲它的標籤?給每個單元格一個唯一的標籤(增量編號)

例如:

組1

  • 小區1(標記= 1)
  • 小區2(標籤= 2)
  • 小區3(標籤= 3)

組2

  • 小區1(標記= 4)
  • 細胞2(標籤= 5)

組3

  • 小區1(標記= 6)

等...

任何幫助,非常感謝!

回答

2

這是不可能的而無需查詢數據源爲先前組中的單元的數量。你可能不想這樣做。無論如何,這是沒有意義的,因爲你必須實施適當的重用才能獲得良好的性能,所以標籤隨時出現和消失。

所以真正的問題是,你爲什麼要這樣做?可能有一種方法可以在不添加標籤的情況下實現相同。

但是,如果你真的想:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    NSInteger count = 1; 
    for (NSInteger i = 0; i < indexPath.section; i++) { 
     count += [[tableView dataSource] tableView:tableView numberOfRowsInSection:i]; 
    } 
    count += indexPath.row; 
    // dequeue, create and configure... 
    cell.tag = count; 
    return cell; 
} 
+0

那麼基本上,我已經設置了我的應用程序,我需要知道,如果第4,第5,第6等..細胞被按下。我使用了非分組tableview,它允許我使用'indexpath.row',但現在我必須切換到分組樣式tableview,這會混淆這個系統。 – 2011-05-10 06:40:50

+0

所以也許你應該嘗試重新排列你的數據源。一個NSArray(用於行)的NSArray(用於部分)或類似的東西。但也許從答案的代碼將已經符合您的需求。 – 2011-05-10 13:28:12

+0

雖然這是對我的問題錯誤的方法;你的回答是正確的。所以我會接受。正確的做法是重新安排數據來源 – 2011-07-18 12:58:32

-2
  1. 創建一個變量
  2. 創建一個迴路,該回路將通過所有單元迭代
  3. 在每個循環結束時加1後,可變
+0

,如果你事先創建的所有單元格可能的工作,但通常的做法是,以回收細胞,使你只需要對儘可能多的細胞,因爲它需要填滿屏幕。 – Caleb 2011-05-09 22:07:51

+0

我看到...對不起,如果這沒有幫助 – Cobold 2011-05-09 22:10:41

相關問題