проблема указателя ячейки таблицы - PullRequest
1 голос
/ 15 марта 2011

в моем приложении у меня есть UITableView, и я использовал

[cell setAccessoryType:UITableViewCellAccessoryCheckmark];

, и когда я прокручиваю эту таблицу, я получаю несколько галочек в нескольких ячейках

, пожалуйста, помогите мне ..

Ответы [ 2 ]

1 голос
/ 29 июля 2011

вы можете использовать этот пример кода в методе делегата 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];
1 голос
/ 15 марта 2011

В общем, ячейка происходит из 2 способов:

- (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.

}

Поскольку ваша ячейка может поступать из очереди повторного использования, она настроена. Очевидно, вы забыли перенастроить те ячейки, которые поступают из очереди повторного использования.

...