iOS瘋狂詳解之UITableView的全選和多選功能
阿新 • • 發佈:2019-02-19
[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];
}
}
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];
}
}