iosTableView 局部全部刷新以及删除编辑操作

  • 局部刷新方法

    1. 添加数据

      NSArray *indexPaths = @[
                             [NSIndexPath indexPathForRow:0 inSection:0],
                             [NSIndexPath indexPathForRow:1 inSection:0]
                             ];
      [self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationRight];
    2. 删除数据
      NSArray *indexPaths = @[
                           [NSIndexPath indexPathForRow:0 inSection:0],
                           [NSIndexPath indexPathForRow:1 inSection:0]
                           ];
      [self.tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationMiddle];
    3. 更新数据(没有添加和删除数据,仅仅是修改已经存在的数据)
      NSArray *indexPaths = @[
                           [NSIndexPath indexPathForRow:0 inSection:0],
                           [NSIndexPath indexPathForRow:1 inSection:0]
                           ];
      [self.tableView relaodRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationMiddle];
  • 左滑出现删除按钮
    • 需要实现tableView的代理方法

        // 只要实现了这个方法,左滑出现Delete按钮的功能就有了
        // 点击了“左滑出现的Delete按钮”会调用这个方法
        - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
            {
            // 删除模型
            [self.wineArray removeObjectAtIndex:indexPath.row];
      
            // 刷新
            [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft];
            }
             // 修改Delete按钮文字为“删除”
            - (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
            {
                return @"删除";
            }
  • 左滑出现N个按钮
    • 需要实现tableView的代理方法只要实现了这个方法,左滑出现按钮的功能就有了(一旦左滑出现了N个按钮,tableView就进入了编辑模式, tableView.editing = YES)

      - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
        {
      
        }
        // 左滑cell时出现什么按钮
        - (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
        {
            UITableViewRowAction *action0 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"关注" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
            NSLog(@"点击了关注");
      
            // 收回左滑出现的按钮(退出编辑模式)
            tableView.editing = NO;
        }];
      
        UITableViewRowAction *action1 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
            [self.wineArray removeObjectAtIndex:indexPath.row];
            [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
        }];
      
        return @[action1, action0];
      }
  • 进入编辑模式
// self.tabelView.editing = YES;
[self.tableView setEditing:YES animated:YES];
// 默认情况下,进入编辑模式时,左边会出现一排红色的“减号”按钮
  • 在编辑模式中多选
// 编辑模式的时候可以多选
self.tableView.allowsMultipleSelectionDuringEditing = YES;
// 进入编辑模式
[self.tableView setEditing:YES animated:YES];

// 获得选中的所有行
self.tableView.indexPathsForSelectedRows;
时间: 2024-08-10 21:25:16

iosTableView 局部全部刷新以及删除编辑操作的相关文章

Asp.Net MVC +EntityFramework主从表新增编辑操作的实现(删除操作怎么实现?)

Asp.Net MVC +EntityFramework主从表新增编辑操作的实现 对于MVC中同时对主从表的表单操作在网上现有的解决很少,而这样的操作在做业务系统中是经常为遇到的.我在网上搜索了很久都没有发现很完整的实例或非常好的解决方案,所以我很想和大家讨论一下又什么更好的解决方案. 一旦有更好的方式我会把它集成到模板中实现自动生成.所以很希望得到大家的帮助.在这里我先抛砖引玉了. Demo代码在 https://github.com/neozhu/MVC5-Scaffolder 下载 先看一

【vim】插入模式与常用编辑操作

vim不像很多编辑器那样一启动便可以直接编辑文本,需要在普通模式按下i, a等键才会进入插入模式进行文本编辑. 如何进入插入模式 以下的命令都会让vim从普通模式切换到插入模式,但命令执行后的字符插入位置有所不同. 命令 执行后的字符插入位置 i  当前字符之前 I  当前行首第一个非空白字符之前  a  当前字符之后 A  当前行尾 s  删除当前字符,光标停留在下一个字符处 S  删除当前行,光标停留在行首 o  在当前行的下方插入一个新行,光标停在新行行首 O  在当前行的上方插入一个新行

linux --> VIM的列编辑操作

VIM的列编辑操作 删除列 1.光标定位到要操作的地方. 2.CTRL+v 进入“可视 块”模式,选取这一列操作多少行. 3.d 删除. 插入列 插入操作的话知识稍有区别.例如在每一行前都插入"() ": 1.光标定位到要操作的地方. 2.CTRL+v 进入“可视 块”模式,选取这一列操作多少行. 3.SHIFT+i(I) 输入要插入的内容. 4.ESC 按两次,会在每行的选定的区域出现插入的内容.

DataList的使用 分页 用Button删除 编辑 datalist中的内容 数据源的绑定 及表格的使用

以前没接触过datalist  这次做项目第一次使用它   遇到一些问题  所以跟大家分享一下  以后遇到问题可以节约点时间  先来个效果图吧   先来说模版八   我用的是ItemTemplate模块   1:先在页面中假如datalist控件  接下来我们编辑模块选择ItemTempalte选项 然后结束模版编辑  2:数据源的绑定   数据源根据你自己的情况来选择 我的数据在sql中  所以选的这个   按上面表好的步骤操作    4是你自己的数据库名称   测试成功后一路默认选择下一步 

pdf添加背景与删除背景操作步骤

现在pdf文件格式的应用越来越广泛了,小伙伴们在工作中有没有遇到并使用pdf文件呢?如果我们想要给pdf添加背景与删除背景需要怎么操作呢?下面,小编就使用PDF编辑软件给大家带来pdf添加背景与删除背景操作步骤介绍. 操作软件:迅捷PDF编辑器 地址:https://dl.pconline.com.cn/download/399595.html PDF添加背景: 1.打开pdf文件后,首先我们给pdf添加上背景,点击文档按钮,然后选择其中的背景,最后在三个选项中点击添加. 2.在添加背景菜单中,

js 判断js函数、变量是否存在 JS保存和删除cookie操作,判断cookie是否存在的方法

//是否存在指定函数 function isExitsFunction(funcName) {    try {        if (typeof(eval(funcName)) == "function") {            return true;        }    } catch(e) {}    return false;}//是否存在指定变量 function isExitsVariable(variableName) {    try {        if

以编程的方式使用SQLite数据库 执行CRUD(创建 读取 更新 删除)操作

DBAdapter数据库辅助类 package com.databses; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.s

notepad++列块编辑操作

1. 同时编辑连续的列区域: 鼠标先在要进行列编辑的起点点击,再同时按shift+alt不放,鼠标在要进行列编辑的结尾区域点击. 2. 在起点到文档结尾所有列插入数据: 鼠标先在要插入数据的位置点击,再按alt+c,在弹出的对话框中输入要插入的数据,确定后就在后面所有列插入数据了. 3. 同时在不连续的列插入数据: 先在菜单:设置-首选项-编辑中,选中"多列编辑"的,如果是英文版本的话,则是选中"multi-editing settings"的"enabl

sql 创建表、删除表 增加字段 删除字段操作

[转]sql 创建表.删除表 增加字段 删除字段操作 下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助. 新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default \'默认值\' null ,[字段2] ntext null ,[字段3] datetime,[字段4] money null ,[字段5] int default 0,[