您好我正在使用分组表视图并选择具有蓝色选择样式的Tableview单元格。
但是当选择单元格并转到下一个视图并再次返回上一个视图时,单元格仍处于选中状态,如果我选择另一个单元格,则显示2个单元格已选中。
在我的代码中查看图片及以下内容:
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
JobViewTableCell *cell = (JobViewTableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
[[NSBundle mainBundle] loadNibNamed:@"iPadJobViewCell" owner:self options:nil];
cell = self.JobViewcell;
}
else {
[[NSBundle mainBundle] loadNibNamed:@"JobViewTableCell" owner:self options:nil];
cell = self.JobViewcell;
}
}
[cell setJobID:[NSString stringWithFormat: @"%@",[(Jobs *)[tableArray objectAtIndex:indexPath.row]JobId]]];
[cell setJobTitle:[NSString stringWithFormat:@"%@",[(Jobs *)[tableArray objectAtIndex:indexPath.row]Title]]];
NSString *newDate =[NSString stringWithFormat:@"%@",[(Jobs *)[tableArray objectAtIndex:indexPath.row]Date]];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/yyyy h:mm:ss a"];
NSDate *myDate = [dateFormat dateFromString:newDate];
[dateFormat setDateFormat:@"MM/dd/yyyy"];
NSString *str = [dateFormat stringFromDate:myDate];
NSLog(@"%@",str);
[cell setJobDate:[NSString stringWithFormat:@"%@",str]];
[cell setLocation:[NSString stringWithFormat:@"%@",[(Jobs *)[tableArray objectAtIndex:indexPath.row]Location]]];
[dateFormat release];
return cell;
}
请帮助
答案 0 :(得分:6)
在tableView的didSelectRowAtIndexPath
方法中,添加deselectRowAtIndexPath
:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
[tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:NO];
. . .
}