• UITableView 表视图编辑


    UITableViewController(表视图控制器)继承自UIViewController,自带一个tableView
    self.view不是UIView而是UITableView
    datasource和delegate你默认都是self(UITableViewController)
    开发过程中只需建立UITableViewController子类
     
    tableView编辑
     
    tableView编辑:cell的添加、删除
    使用的场景:删除一个下载好的视频,删除联系人。
    插入一条新的聊天记录等
     
    编辑的步骤
     
    1、self让tableView处于编辑状态
     

        //editButtonItem对应的相应方法内部会根据点击按钮的状态通过setEditing:animtated:方法来控制表视图是否进入编辑状态
         self.navigationItem.rightBarButtonItem = self.editButtonItem;
    2、指定tableView那些行可以编辑
     
    3、指定tableView编辑样式(添加、删除)

     
    4、编辑完成(先操作数据源,在修改UI)
    // Override to support editing the table view.
    - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
        if (editingStyle == UITableViewCellEditingStyleDelete) {
            // Delete the row from the data source
    //        1、应当先删除对应行的数据
    //        2、再将对应行的单元格从表视图中删除
            [self.datasource removeObjectAtIndex:indexPath.row];
            [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationMiddle];
        } else if (editingStyle == UITableViewCellEditingStyleInsert) {
            // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
    //        1、现在数组中插入对应的对象
    //        2、创建对应对象的indexPath
    //        3、根据indexPath在表视图中的位置插入对应行
            [self.datasource addObject:@"新插入的数据"];
            NSIndexPath *insertPath = [NSIndexPath indexPathForRow:self.datasource.count - 1 inSection:0];
            [tableView insertRowsAtIndexPaths:@[insertPath] withRowAnimation:UITableViewRowAnimationMiddle];
        }   
    }

    当表格被拖拽后会相应此方法,

     

    当表格处于编辑状态时,可以通过以下方法设置相应的表格是否与许被编辑

     
  • 相关阅读:
    easyExcel入门
    UML-从需求到设计--迭代进化
    UML-操作契约总结
    102. Binary Tree Level Order Traversal
    98. Validate Binary Search Tree
    95. Unique Binary Search Trees II
    96. Unique Binary Search Trees
    94. Binary Tree Inorder Traversal
    84. Largest Rectangle in Histogram
    92. Reverse Linked List II
  • 原文地址:https://www.cnblogs.com/496668219long/p/4475994.html
Copyright © 2020-2023  润新知