• 编辑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];
    }
  • 相关阅读:
    C学习笔记-gcc
    C学习笔记-makefile
    C学习笔记-makefile
    C学习笔记-基础数据结构与算法
    上下左右居中 无固定高的div
    Touch事件 移动端touch触摸事件
    让更多浏览器支持html5元素的简单方法
    跨子域的iframe高度自适应
    10进制转16进制,16进制转10进制,随机出一个6位十六进制颜色值
    ajax原理和XmlHttpRequest对象
  • 原文地址:https://www.cnblogs.com/fengmin/p/5482690.html
Copyright © 2020-2023  润新知