我想删除 UITableView 中的行,我需要提供删除按钮,而不是通过滑动,而是以类似于 iPhone 中的删除消息功能的方式提供。在其中单击编辑时,单元格左侧会出现一个红色小圆圈,单击时会旋转并显示删除按钮。如何实施?
如下图所示:
我想删除 UITableView 中的行,我需要提供删除按钮,而不是通过滑动,而是以类似于 iPhone 中的删除消息功能的方式提供。在其中单击编辑时,单元格左侧会出现一个红色小圆圈,单击时会旋转并显示删除按钮。如何实施?
如下图所示:
有关如何实现此目的的详细信息,请参阅此处的 Apple 文档。尤其是:
当发送
setEditing:animated
: 消息(第一个参数为YES
)时,表格视图进入编辑模式,其中显示每个可见行的编辑或重新排序控件,具体取决于editingStyle
每个关联的UITableViewCell
. 单击插入或删除控件会导致数据源接收tableView:commitEditingStyle:forRowAtIndexPath
: 消息。deleteRowsAtIndexPaths:withRowAnimation
您可以通过调用: 或 :来提交删除或插入insertRowsAtIndexPaths:withRowAnimation
,视情况而定。
self.navigationItem.leftBarButtonItem = self.editButtonItem;
在viewDidLoad
方法中写这个 。之后实现这个方法- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
[yourArray removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
}
}