表格单元指示器问题

时间:2011-03-15 08:33:41

标签: iphone objective-c ios uitableview accessoryview

在我的申请表中我有UITableView&

[cell setAccessoryType:UITableViewCellAccessoryCheckmark];

当我滚动此表时,我在多个单元格中得到多个复选标记

请帮帮我..

2 个答案:

答案 0 :(得分:1)

一般来说,细胞来自两种方式:

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

  static NSString *identifier = @"Cell";
  UITableViewCell *cell = ... // The cell come from reuse queue.
  if (cell == nil) {
      cell = ... // if reuse queue has no cell, then create an autoreleased cell
  } 

  // Configure cell by indexPath.
  // You should configure cell HERE.

}

因为您的单元格可能来自重用队列,所以它已配置完毕。显然,您忘记重新配置来自重用队列的那些单元。

答案 1 :(得分:1)

你可以在tableView的委托方法didSelectedRowAtIndexPath上使用这个示例代码

UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath];         [cell setSelected:YES animated:YES];         [cell setAccessoryType:UITableViewCellAccessoryCheckmark];

    for(int iterator=0;iterator<3;iterator++)
    {

        UITableViewCell *eachCell = [[self tableView] cellForRowAtIndexPath:[NSIndexPath indexPathForRow:iterator inSection:0]];
        [eachCell setSelected:NO animated:YES];
        [eachCell setAccessoryType:UITableViewCellAccessoryNone];
    }

    UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];
    [newCell setSelected:YES animated:YES];
    [newCell setAccessoryType:UITableViewCellAccessoryCheckmark];