多選做法如下: - (void)tableView:(UITableView *)tableViewdidSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableViewdeselectRowAtIndexPath:indexPath animated:YES]; Custom *cell= (Custom*)[tableView cellForRowAtIndexPath:indexPath]; NSUIntegerrow = [indexPath row]; NSMutableDictionary *dic = [contacts objectAtIndex:row]; if ([[dicobjectForKey:@"checked"] isEqualToString:@"NO"]) { [dic setObject:@"YES" forKey:@"checked"]; [cell setChecked:YES]; }else{ [dic setObject:@"NO" forKey:@"checked"]; [cell setChecked:NO]; } } 在cell類中添加BOOL屬性checked和設置方法setChecked... 全選做法如下: NSArray *anArrayOfIndexPath = [NSArray arrayWithArray:[contactListindexPathsForVisibleRows]]; for (int i =0; i < [contacts count]; i++) { NSIndexPath *indexPath= [anArrayOfIndexPath objectAtIndex:i]; Custom *cell = (Custom*)[contactListcellForRowAtIndexPath:indexPath]; NSUInteger row = [indexPath row]; NSMutableDictionary *dic = [contacts objectAtIndex:row]; if ([[[(UIButton*)sender titleLabel] text] isEqualToString:@"全選"]){ [dic setObject:@"YES" forKey:@"checked"]; [cell setChecked:YES]; }else { [dic setObject:@"NO" forKey:@"checked"]; [cell setChecked:NO]; } }
原文地址:http://www.2cto.com/kf/201412/360067.html