我正在使用自定义单元格,其中有一个按钮,在单击一个单元格时应该标记为已选中。但是当我单击一个单元格时,它会在表格中重复,例如。
细胞1
细胞2
细胞3
细胞4
细胞5
细胞6
单元格7(从1开始重复检查)
单元格8(从2重复检查)
这是我的代码。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
{
WIWNotificationViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"WIWNotificationViewCell" forIndexPath:indexPath];
cell.notifySelected=NO;
if (cell == nil)
{
cell = [[WIWNotificationViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"WIWNotificationViewCell"];
}
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
WIWNotificationViewCell *cell = (WIWNotificationViewCell*)[tableView cellForRowAtIndexPath:indexPath];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
if (cell.notifySelected==YES)
{
[cell.btnNotifyClicked setSelected:NO];
cell.notifySelected=NO;
} else
{
[cell.btnNotifyClicked setSelected:YES];
cell.notifySelected=YES;
}
}
WIWNotificationViewCell是一个自定义单元格,它包含要检查的btnNotifiedClicked。
答案 0 :(得分:-1)
使用重用标识符获取单元格时,您所做的就是设置布尔值notifySelected。你还需要打电话
[cell.btnNotifyClicked setSelected:NO];
在cellForRowAtIndexPath中,否则视图的状态不会更新,直到didSelectRowAtIndexPath