2011-05-09 66 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

相关问题