0
我尝试这样做:当新的单元格勾选(独占uitableviewcell选择)(ios)时,我如何解开勾选的单元格?
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
{
// this code im trying to toggle already ticked cell
NSString *knownObject = @"YES";
NSArray *alreadyTickedBoxes;
// NSInteger dictIndex= -1;
NSMutableDictionary *dict;
for (dict in self.dataArray){
// dictIndex++;
alreadyTickedBoxes = [dict allKeysForObject:knownObject];
if (alreadyTickedBoxes.count !=0)
break;
}
if(alreadyTickedBoxes.count != 0){
[dict setObject:[NSNumber numberWithBool:NO] forKey:@"checked"];
FeedCell3 *cellToUntick = [dict objectForKey:@"cell"];
UIButton *button = (UIButton *)cellToUntick.accessoryView;
UIImage *newImage = [UIImage imageNamed:@"unticked24"];
[button setBackgroundImage:newImage forState:UIControlStateNormal];
}
// this code toggles tapped cell
NSMutableDictionary *item = [self.dataArray objectAtIndex:indexPath.row] ;
BOOL checked = [[item objectForKey:@"checked"] boolValue];
[item setObject:[NSNumber numberWithBool:!checked] forKey:@"checked"];
FeedCell3 *cell = [item objectForKey:@"cell"];
UIButton *button = (UIButton *)cell.accessoryView;
UIImage *newImage = (checked) ? [UIImage imageNamed:@"unticked24"] : [UIImage imageNamed:@"ticked24"];
[button setBackgroundImage:newImage forState:UIControlStateNormal];
[tableView reloadData];
}
你有尝试'deselectRowAtIndexPath:'tableview的方法,而不是重新加载tableview。 ? –
还没有。谢谢生病尝试 – jsky
好,让我知道如果你有任何问题。 –