编辑UITableviewCell--Editing

    self.navigationItem.rightBarButtonItem = self.editButtonItem;
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [super setEditing:editing animated:animated];
    [self.countriesTableView setEditing:editing animated:animated];
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        Country * delegateCountry = self.countries[indexPath.row];
        [self.countries removeObject:delegateCountry];

        [self.countriesTableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
    }
}

insert(默认编辑样式都是UITableviewCellEditingStyleDelete),所以添加insert样式。

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ((indexPath.row%2) == 0) {
        return UITableViewCellEditingStyleInsert;
    }
    return UITableViewCellEditingStyleDelete;
}
}else if (editingStyle == UITableViewCellEditingStyleInsert){
        Country * copiedCountry = self.countries[indexPath.row];
        Country * newCountry = [[Country alloc] init];
        newCountry.name = copiedCountry.name;
        newCountry.flag = copiedCountry.flag;
        newCountry.capital = copiedCountry.capital;
        newCountry.motto = copiedCountry.motto;
        [self.countries insertObject:newCountry atIndex:indexPath.row+1];
        [self.countriesTableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:indexPath.row + 1 inSection:indexPath.section]] withRowAnimation:UITableViewRowAnimationRight];
    }

重新排序

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
    return YES;
}
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath
{
    [self.countries exchangeObjectAtIndex:sourceIndexPath.row withObjectAtIndex:destinationIndexPath.row];
    [self.countriesTableView reloadData];
}
时间: 2024-10-16 22:51:40

编辑UITableviewCell--Editing的相关文章

Photo Editing Extension 详解 (附带应用滤镜Demo)

extension是iOS8新开放的一种对几个固定系统区域的扩展机制,它可以在一定程度上弥补iOS的沙盒机制对应用间通信的限制.允许应用帮助系统扩展自定义功能,去实现一个特定作用域的任务,如照片编辑.自定义键盘.通知中心.Action动作.Share分享等. 这对于一向封闭的iOS来说, 无疑是一大福音. 虽然iOS8离现在比较远了, 分享 "Extension " 相关的文章也很多了, 不过对于"Photo Editing", 我觉得还是有必要来讲一讲的, 一来多

UITableView总结

http://my.oschina.net/iq19900204/blog/292125 摘要 UITableView uitableview uitableviewcell 目录[-] 1.协议介绍 UITableViewDataSource(11) UITableViewDelegate(常用) 2.刷新 下拉刷新: 上拉刷新 3.搜索 4.重用 自定义cell 不使用重用方法 注册Cell 5.编辑 滑动更多 6.优化 UITableView 总结 UITableView是UIScroll

UITableView 常用方法(转自CSDN)

一.概述 UITableView是iOS开发比不可少也是最重要的一个控件类.可以说任何一个做iOS开发的人都必须熟练使用和掌握它.本文主要就是提供一个学习使用TableView的指南. 要说UITableView必须要介绍他的几个亲戚:UITableViewDelegate,UITableViewDataSource,UITableViewCell.其中前两个是TableView遵守的两个protocol(别告诉我你不知道啥叫protocol哦).然后本文会再列出TableView最常用最重要的

UITableView 的方法总汇

一.概述 UITableView是iOS开发比不可少也是最重要的一个控件类.可以说任何一个做iOS开发的人都必须熟练使用和掌握它.本文主要就是提供一个学习使用TableView的指南. 要说UITableView必须要介绍他的几个亲戚:UITableViewDelegate,UITableViewDataSource,UITableViewCell.其中前两个是TableView遵守的两个protocol(别告诉我你不知道啥叫protocol哦).然后本文会再列出TableView最常用最重要的

Sublime Text 全程指南

安装(Installation) Sublime Text 官方网站 提供了Sublime Text各系统各版本的下载,目前Sublime Text的最新版本是 Sublime Text 3 .这里以Windows版本的Sublime Text安装为例. 注意在安装时勾选 Add to explorer context menu ,这样在右键单击文件时就可以直接使用Sublime Text打开. 添加Sublime Text到环境变量 使用 Win + R 运行 sysdm.cpl 打开"系统属

IOS 键盘的显示与关闭,以及移动显示(UITextView处理完整版)

IOS 键盘的显示与关闭 在每一个IOS应用中,几乎不可避免的要进行文本输入操作,例如要求用户填写登陆注册信息,进行话题的评论回复,等等.用到的文本输入组件有UITextField,UITextView,对于这两个组件的相关属性和方法想必大家都很熟悉,但貌似对于键盘的显示或隐藏过程貌似常常不是很清楚,其实本人也是一知半解,所以趁此做简单的总结,基本上以下描述出自于官方的文档,并没有什么更改. 1.开启键盘面板 当用户触击某一个view时,系统会自动指定该view为第一响应对象(first res

PyCharm快捷键

1.编辑(Editing) Ctrl + Space 基本的代码完成(类.方法.属性) Ctrl + Alt + Space 快速导入任意类 Ctrl + Shift + Enter 语句完成 Ctrl + P 参数信息(在方法中调用参数) Ctrl + Q 快速查看文档 Shift + F1 外部文档 Ctrl + 鼠标 简介 Ctrl + F1 显示错误描述或警告信息 Alt + Insert 自动生成代码 Ctrl + O 重新方法 Ctrl + Alt + T 选中 Ctrl + / 行

pycharm快捷键及一些常用设置

pycharm快捷键及一些常用设置 pycharm快捷键及一些常用设置,有需要的朋友可以参考下. Alt+Enter 自动添加包 Ctrl+t SVN更新 Ctrl+k SVN提交 Ctrl + / 注释(取消注释)选择的行 Ctrl+Shift+F 高级查找 Ctrl+Enter 补全 Shift + Enter 开始新行 TAB Shift+TAB 缩进/取消缩进所选择的行 Ctrl + Alt + I 自动缩进行 Ctrl + Y 删除当前插入符所在的行 Ctrl + D 复制当前行.或者

ExtJS 4 Grids 详解

Grid Panel是ExtJS最常用的组件之一,它的功能非常丰富,提供了非常便捷的方法执行排序,分组,编辑数据. Basic Grid Panel 基本表格面板 让我们创建一个简单的表格,这有创建和运行表格的全部知识. Model and Store 模型和存储器 Grid Panel展现Store中的数据,Store可以被认为是records的集合,或者模型(Model)实例的集合.更多关于Store和Model的内容请查看<ExtJS 4 数据(包)详解>,讲这些是为了明确一下概念,Gr

Sublime - 快捷键列表

通用(General) ↑↓←→:上下左右移动光标,注意不是不是KJHL! Alt:调出菜单 Ctrl + Shift + P:调出命令板(Command Palette) Ctrl + `:调出控制台 编辑(Editing) Ctrl + Enter:在当前行下面新增一行然后跳至该行 Ctrl + Shift + Enter:在当前行上面增加一行并跳至该行 Ctrl + ←/→:进行逐词移动 Ctrl + Shift + ←/→进行逐词选择 Ctrl + ↑/↓移动当前显示区域 Ctrl +