iOS中tableview实现编辑、全选及删除等功能的方法示例

2020-01-20 23:32:21王冬梅

当然取消全选也有方法


 for (int i = 0; i< self.dataArray.count; i++) {
   NSIndexPath *indexPath = [NSIndexPath indexPathForItem:i inSection:0];
   [_tableView deselectRowAtIndexPath:indexPath animated:NO];

  }

通过全选按钮实现的选中方法,需要在方法里把所有数据都添加到想要删除的数组里面

通过点击tableviewcell选择删除对象的时候需要把想要删除的数据添加到删除数组里面


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

 if (self.btn.selected) {
   NSLog(@"选中");
  [self.deleteArray addObject:[self.dataArray objectAtIndex:indexPath.row]];

 }else{
  NSLog(@"跳转下一页");
 }
}

再次点击取消选中的数据


- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {

 if (self.btn.selected) {
  NSLog(@"撤销");
  [self.deleteArray removeObject:[self.dataArray objectAtIndex:indexPath.row]];

 }else{
  NSLog(@"取消跳转");
 }

}

问题一:

按照以上方法实现之后就可以实现想要的功能,但是还有UI的问题,那就是选择之后会出现下图的问题

ios,tableview,全选,tableview编辑,全选删除

 

问题二:

还有一个问题 ,在自定义的cell上面添加控件的时候一定要添加到self.contentView上面,否则会出现控件不随cell移动的问题


 [self.contentView addSubview:self.label];

结束

到这里这篇文章的内容基本算完结了,如果还是有不明白的我在此留下Demo链接,里面有更详细的注释,Demo没有做UI适配,想看效果的画在模拟器6,7上面运行最好

Demo地址:http://www.easck.com/T1_mine/tableviewedit

 

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对ASPKU的支持。


注:相关教程知识阅读请移步到IOS开发频道。