tableView删除

写在前面:

  1. ios8提供了 cell 可编辑模式;所以在 适配 ios 8.0的伙伴就可以使用系统的,下面讲解是 ios8;
  2. ios7的可以使用MGSwipeTableCell,想要使用可以进入 github 查看具体用法,我就不详细解释了;
  3. 使用MGSwipeTableCell也可以参看iOS UITableViewCell的"滑动出现多个按钮"

代码

//
//  ViewController.m
//  TableViewDeleteDemo
//
//  Created by 陈博文 on 16/8/30.
//  Copyright © 2016年 陈博文. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()
/** 数据源数组*/

@property (nonatomic ,strong) NSMutableArray *array;

/** UITableView*/
@property (nonatomic ,weak) UITableView *tableView;
@end

@implementation ViewController

- (void)viewDidLoad {
    
    [super viewDidLoad];
    
    UITableView *tableview = [[UITableView alloc]initWithFrame:self.view.bounds];
    
    tableview.delegate = self;
    
    tableview.dataSource = self;
    
    self.tableView = tableview;
    
    [self.view addSubview:tableview];
    
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    
    return self.array.count;
    
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    UITableViewCell *cell = [[UITableViewCell alloc]init];
    
    cell.textLabel.text = [NSString stringWithFormat:@"%ld",(long)indexPath.row];
    
    return cell;
    
}

#pragma mark - delegate

- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewRowAction *deleteRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        
        
        
        [self.array removeObjectAtIndex:indexPath.row];
        [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
        
    }];
    
    UITableViewRowAction *topRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"置顶" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        
        [self.array exchangeObjectAtIndex:indexPath.row withObjectAtIndex:0];
        NSIndexPath *firstIndexPath = [NSIndexPath indexPathForRow:0 inSection:indexPath.section];
        [tableView moveRowAtIndexPath:indexPath toIndexPath:firstIndexPath];
        
    }];
    
    topRowAction.backgroundColor = [UIColor blueColor];
    
    UITableViewRowAction *moreRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"更多" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        
        [self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationMiddle];
        
    }];
    return @[deleteRowAction,topRowAction,moreRowAction];
}

#pragma mark - setter && getter

-(NSMutableArray *)array{
    
    if (_array == nil) {
        
        _array = [NSMutableArray array];
        
        [_array addObject:@"0"];
        
        [_array addObject:@"1"];
        
        [_array addObject:@"2"];
        
        [_array addObject:@"3"];
        
        [_array addObject:@"4"];
        
    }
    
    return _array;
    
}

@end

图片

tableView删除_第1张图片
Snip20160418_1.png
tableView删除_第2张图片
Simulator Screen Shot 2016年8月30日 19.24.56.png
tableView删除_第3张图片
Simulator Screen Shot 2016年4月18日 09.54.56.png

你可能感兴趣的:(tableView删除)