在我的申请表中我有UITableView
&
[cell setAccessoryType:UITableViewCellAccessoryCheckmark];
当我滚动此表时,我在多个单元格中得到多个复选标记
请帮帮我..
答案 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];