カスタム UITableViewCellAccessoryCheckmark が必要なテーブル ビューがあります。チェックマークは行が選択されると表示され、別の行が選択されると消え、最後に最も選択されたビューに表示されます。それはうまくいきます。
この行を使用すると問題が発生します。
cell.accessoryView = [[ UIImageView alloc ]
initWithImage:[UIImage imageNamed:@"icon-tick.png" ]];
カスタム UITableViewCellAccessoryCheckmark を追加します。そのコードの後、 UITableViewCellAccessoryCheckmark はすべての行に残り、別の行に触れても消えません。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
int index = indexPath.row; id obj = [listOfItems objectAtIndex:index];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
NSLog(@"%d",indexPath.row);
if (rowNO!=indexPath.row) {
rowNO=indexPath.row;
[self.tableView cellForRowAtIndexPath:indexPath].accessoryType=UITableViewCellAccessoryCheckmark;
cell.accessoryView = [[ UIImageView alloc ]
initWithImage:[UIImage imageNamed:@"icon-tick.png" ]];
[self.tableView cellForRowAtIndexPath:lastIndexPth].accessoryType=UITableViewCellAccessoryNone;
lastIndexPth=indexPath;
}