zoukankan      html  css  js  c++  java
  • 编辑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];
    }
  • 相关阅读:
    MySql创建库 Challenge
    未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值的解决办法.
    小总结:用反射机制创建的分配数据分配器
    工厂模式的反思
    单机安装“完整”SharePoint 2010
    作业调度框架 Quartz.NET 2.0 StepByStep(2)
    UI线程同步
    每日见闻(一)
    作业调度框架 Quartz.NET 2.0 StepByStep
    基础算法(ACwing)
  • 原文地址:https://www.cnblogs.com/fengmin/p/5482690.html
Copyright © 2011-2022 走看看