IOS问题汇总:2014-12-17 确定UITableViewCell AccessoryCheckmark唯一性+不唯一性

确定UITableViewCell AccessoryCheckmark唯一性

a)点击背景会变蓝色

-(UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row==currentIndex){
return UITableViewCellAccessoryCheckmark;
}
else{
return UITableViewCellAccessoryNone;
}
}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:NO];
if(indexPath.row==currentIndex){
return;
}
NSIndexPath *oldIndexPath = [NSIndexPath indexPathForRow:currentIndex
inSection:0];
UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];
if (newCell.accessoryType == UITableViewCellAccessoryNone) {
newCell.accessoryType = UITableViewCellAccessoryCheckmark;
newCell.textColor=[UIColor blueColor];
}
UITableViewCell *oldCell = [tableView cellForRowAtIndexPath:oldIndexPath];
if (oldCell.accessoryType == UITableViewCellAccessoryCheckmark) {
oldCell.accessoryType = UITableViewCellAccessoryNone;
oldCell.textColor=[UIColor blackColor];
}
currentIndex=indexPath.row;
}
b)点击背景不会蓝色

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if(seletedRow == [indexPath row])
return;

seletedRow = [indexPath row];

[self.tableView reloadData];
}

-(UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath
{
int row = [indexPath row];
if(row == select)
return UITableViewCellAccessoryCheckmark;
return UITableViewCellAccessoryNone;
}

UITableViewCell AccessoryCheckmark 不唯一性

if (cell.accessoryType == UITableViewCellAccessoryNone)
cell.accessoryType = UITableViewCellAccessoryCheckmark;
else
cell.accessoryType = UITableViewCellAccessoryNone;

原文地址:https://www.cnblogs.com/hanyutong/p/4425181.html