a)点击背景会变蓝色
- (UITableViewCellAccessoryType)tableView:(UITableView*)tableViewaccessoryTypeForRowWithIndexPath:(NSIndexPath*)indexPath
{
if(indexPath.row==currentIndex){
returnUITableViewCellAccessoryCheckmark;
}
else{
returnUITableViewCellAccessoryNone;
}
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPathanimated:NO];
if(indexPath.row ==currentIndex){
return;
}
NSIndexPath *oldIndexPath =[NSIndexPathindexPathForRow:currentIndexinSection:0];
UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];
if(newCell.accessoryType ==UITableViewCellAccessoryNone) {
newCell.accessoryType =UITableViewCellAccessoryCheckmark;
newCell.textLabel.textColor = [UIColorblueColor];
}
UITableViewCell *oldCell = [tableView cellForRowAtIndexPath:oldIndexPath];
if(oldCell.accessoryType ==UITableViewCellAccessoryCheckmark){
oldCell.accessoryType =UITableViewCellAccessoryNone;
oldCell.textLabel.textColor=[UIColorblackColor];
}
currentIndex=indexPath.row;
}
b)点击背景不会蓝色
- (void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:(NSIndexPath*)indexPath{
if(seletedRow== [indexPathrow])
return;
seletedRow= [indexPathrow];
[self.tableViewreloadData];
}
-(UITableViewCellAccessoryType)tableView:(UITableView*)tableViewaccessoryTypeForRowWithIndexPath:(NSIndexPath*)indexPath
{
introw = [indexPathrow];
if(row == select)
returnUITableViewCellAccessoryCheckmark;
returnUITableViewCellAccessoryNone;
}
还有几个例子代码:http://www.cocoachina.com/bbs/read.php?tid=1188