前面有说过<<
UITableView划动删除的实现>>,效果还算酷,其实笔者一直看着iphone里自带的mail程序的多选删除功能心里痒痒,只是一直没时间研究是怎么实现的.这不花了半天功夫有时间搞定了,特记录一下.
不会搞的时候,觉得很难,等研究明白了觉得原来是这么回事儿.
第一步,实现-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert;
}
UITableViewCellEditingStyleDelete是出现红的减号,再点一下就出来划动时出现的删除钮;UITableViewCellEditingStyleInsert是出现红的加号应该是插入数据的时候用的吧,没细研究,最神奇的是两个同时出现就出现了前面带圈的多选项.
第二步,调出前面带圈的多选项.其实就是调用[self.tableview setEditing:YES animated:YES]啦,隐藏的话就setEditing:NO
第三步,实现记录选择或者取消的项.笔者竟然没有找到实现这个功能的专门的方法,没办法了,自己折中实现一下喽.
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (rightButton.title== @"确定") {
[deleteDic setObject:indexPath forKey:[dataArray objectAtIndex:indexPath.row]];
}
else {
}
}
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{
if (rightButton.title == @"确定") {
[deleteDic removeObjectForKey:[dataArray objectAtIndex:indexPath.row]];
}
}
一个是多选状态下添加刚选择的项,一下移除刚取消的项.哎,真复杂.
第四步,得到想删除的项了,处理一下呗
[dataArray removeObjectsInArray:[deleteDic allKeys]];
[self.tableview deleteRowsAtIndexPaths:[NSArray arrayWithArray:[deleteDic allValues]] withRowAnimation:UITableViewRowAnimationFade];
[deleteDic removeAllObjects];
好啦,搞定,看一下效果图.
首先得到一个列表.
点击编辑,出现选择框.
选择想要删除的项.
点删除.
删除以后的效果.
转自:http://rainbird.blog.51cto.com/211214/636270
分享到:
相关推荐
总的来说,"ios_UITableView多选全选和删除"项目涵盖了iOS开发中的多个关键知识点,包括`UITableView`的交互定制、数据管理、自定义单元格以及性能优化。理解并掌握这些技能对于iOS应用的开发至关重要。
`UITableViewChooseDelete`项目则是专门探讨如何在UITableView中实现多选删除功能,并且包含了全选的选项。这个项目主要涉及Objective-C语言,它是苹果iOS和Mac OS X平台的主要编程语言。 在UITableView中实现多选...
在“ios-UITableView 多选.zip”这个压缩包中,我们很可能会找到一个名为“MultiselectDemo”的示例项目,它专门展示了如何在UITableView中实现多选功能。以下是对这个知识点的详细讲解: 1. UITableView基本概念:...
在某些场景下,我们可能需要实现UITableView的多选功能,让用户能够选择列表中的多个项目,例如在通讯录中选择多个联系人或者在购物车中选择多个商品。本文将深入探讨如何在UITableView中实现多选功能。 首先,为了...
在iOS应用中,多选功能常常用于批量删除、编辑或标记项目。 首先,为了实现多选,我们需要开启UITableView的多选模式。在`UITableViewDataSource`协议中,我们需要返回`UITableViewSelectionBehavior`为`....
这篇博客“用UITableView 进行多选的代码例子”显然是探讨如何在UITableView中实现多选功能,这是在开发中处理批量操作或需要用户进行选择时常用的一个特性。我们将深入探讨这个主题,了解如何在实际项目中实现这一...
"tableView系统方法多选删除"是指在UITableView中实现用户可以多选行并进行批量删除的功能。这种功能在许多应用中都十分常见,比如邮件应用中删除多封邮件,或者联系人应用中选择多个联系人删除。此外,描述中提到的...
实现多选和单选与UITableView类似,但因为UICollectionView的复杂性,我们可能需要更多的自定义工作。我们可以使用`UICollectionViewDataSource`的`collectionView(_:didSelectItemAt:)`方法来响应用户的选择。对于...
自定义UITableView的右滑、左滑操作,支持图片和文字同时存在(图片在上,文字在下)。只需给出文字或图片,SwipeButton会自适应大小。3D动画效果是参考别人的 github:...
"Swift多选删除Demo"是一个实例项目,旨在教授如何在UITableView中实现多选删除功能,这在处理大量数据时非常有用,比如在邮件应用中批量删除邮件或者在联系人应用中批量移除联系人。 首先,我们要理解UITableView...
描述中提到的"tableView系统方法多选删除",主要涉及到UITableView的两种删除机制:多选删除和左滑动删除。这两种方式都是为了提升用户体验,提供便捷的数据管理途径。 1. **多选删除**:在iOS中,我们可以利用`...
UITableView的多行选中效果,适合初学者,主要学习表格的选中事件,可以同时选中多行,并且在底部显示选中的行,可以滑动底部选中的行记录,点击显示的行记录,可以移除该记录,同时表格中改行更改为未选中状态。...
基于UITableView的简单单选或多选清单。 用法 let selectionList = SelectionList () selectionList. items = [ " One " , " Two " , " Three " , " Four " , " Five " ] selectionList. addTarget ( self , action...
这个"ios UITableView实现单击提示,滑动删除,多选行等操作"的示例框架旨在教你如何增强UITableView的功能,提供更好的用户体验。下面将详细介绍这些功能的实现。 首先,`单击提示`是指当用户点击UITableView中的...
在实际应用中,我们经常需要实现对UITableView中的单元格(Cell)进行删除操作。本Demo代码着重展示了如何在UITableView中删除Cell,让我们来详细探讨这个过程。 首先,为了删除单元格,我们需要遵循...
在iOS开发中,UITableView是一种常用的UI组件,用于展示列表数据。在进行自定义表视图操作时,我们可能需要对单元格(UITableViewCell)的编辑功能进行控制,比如隐藏默认的删除按钮或者更改其标题。本篇文章将深入...
通过这个项目,我们可以学习到如何在UITableView中实现多选、全选和删除功能,并处理因Cell复用导致的问题。 首先,多选功能通常通过在UITableViewCell中添加一个复选框或者切换按钮来实现。每个Cell的选中状态需要...
本示例"ios-多选,全选,删除,插入.zip"提供了一个功能丰富的教程,旨在帮助新手掌握如何在UITableView中实现多选、全选、删除以及插入操作。下面将详细解释这些关键知识点。 1. **多选**: 在UITableView中实现...
在iOS中,我们可以利用`UITableViewCell`的`accessoryType`属性来显示复选标记,或者自定义视图来实现多选效果。 2. **实现多选**: - 使用`UISwitch`或自定义的勾选图标,为每个单元格添加一个多选状态。可以通过...
在iOS开发中,创建具有单选或多选功能的表格(UITableView)并实现删除功能是一项常见的需求。本示例“ios-cell单选或者多选删除.zip”着重探讨如何使用系统提供的API来实现这一功能。以下是对这个主题的详细解析: ...