如何在目标c中的tableview上方实现一个选择/取消选择所有按钮?
Posted
技术标签:
【中文标题】如何在目标c中的tableview上方实现一个选择/取消选择所有按钮?【英文标题】:How to implement one select/deselect all button while above tableview in objective c? 【发布时间】:2018-07-07 13:00:40 【问题描述】:我想在一个按钮上实现选择/取消选择所有功能,tableview 单元格所有按钮必须根据用户交互进行选择和取消选择。我有选择的数组和未选择的数组,同时通过 tableview 单元格按钮进行选择。下面给出的代码中,tableview 单元格按钮在 indexPath 方法中单击了地窖行。
NSMutableDictionary *d=[_studentArr objectAtIndex:indexPath.row];
cell.studentId.text=[[d objectForKey:@"student_id"]description];
cell.rollNum.text=[[d `enter code here`objectForKey:@"class_roll_no"]description];
cell.firstName.text=[[d objectForKey:@"first_name"]description];
cell.lastName.text=[[d objectForKey:@"last_name"]description];
cell.attendanceStatus.text=[[d objectForKey:@"status"]description];
cell.studentFullName.text=[[[d objectForKey:@"first_name"]description] stringByAppendingString:[[d objectForKey:@"last_name"]description]];
NSLog(@"studentFullName.text=%@ status=%@",cell.studentFullName.text,cell.attendanceStatus.text);
NSLog(@"Student array count=%ld",_studentArr.count);
cell.studentSelectBtn.tag=indexPath.row;
NSLog(@"Selectted cell indexpath===%ld",(long)cell.studentSelectBtn.tag);
[cell.studentSelectBtn setTag:indexPath.row];
[cell.studentSelectBtn addTarget:self action:@selector(studentselectBtnClicked:) forControlEvents:UIControlEventTouchUpInside];
if ([selectedArr containsObject:self.studentArr[indexPath.row]])
[cell.studentSelectBtn setImage:[UIImage imageNamed:@"checkedAttendance.png"] forState:UIControlStateNormal];
[cell.studentSelectBtn setUserInteractionEnabled:YES];
NSLog(@"attendance Status in checked ===%@",cell.attendanceStatus.text);
NSLog(@"selected array count=%ld",selectedArr.count);
else
[cell.studentSelectBtn setImage:[UIImage imageNamed:@"checkbox.png"] forState:UIControlStateNormal];
[cell.studentSelectBtn setUserInteractionEnabled:YES];
NSLog(@"attendance status in unchecked====%@",cell.attendanceStatus.text);
【问题讨论】:
【参考方案1】:您没有显示当前如何向selectedArr
添加/删除条目,但根据您所做的显示,您可以将这两种方法连接为“全选”/“取消全选”按钮的目标:
-(void) selectAll
self.selectedArr = [NSMutableArray arrayWithArray:self.studentArr];
[self.unselectArr removeAllObjects];
[self.tableView reloadData];
-(void) deselectAll
[self.selectedArr removeAllObjects];
[self.unselectedArr = [NSMutableArray arrayWithArray:self.studentArr];
[self.tableView reloadData];
【讨论】:
我有未选择的数组。请在下面找到详细信息: NSMutableArray *unselectedArray = [NSMutableArray arrayWithArray:_studentArr]; [unselectedArray removeObjectsInArray:selectedArr]; NSLog(@"*****unselectedArray=%@",unselectedArray); 将其添加到我的答案中 这两种方法我都需要在按钮 click ri8 中调用? 仍然无法正常工作。请与我分享任何替代解决方案。以上是关于如何在目标c中的tableview上方实现一个选择/取消选择所有按钮?的主要内容,如果未能解决你的问题,请参考以下文章
目标 C:如何突出显示 tableView 单元格并在重新加载表格时保持突出显示?
当tableview样式在iOS中分组时,为啥节中的标题视图没有正确显示,目标c