10.12 UITableView2 (cell) 动画效

2016-10-23  本文已影响75人  jayck

UITableView2(cell)

添加一行cell,删除一行cell

#import "ViewController.h"

@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
{
    UITableView *_tableView;
    NSMutableArray *_datas;
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    _tableView = [[UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStylePlain];
    _tableView.delegate = self;
    _tableView.dataSource = self;
    [self.view addSubview:_tableView];
    [_tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"cell"];

    _datas = [NSMutableArray array];
    for (NSInteger i = 0; i<100; i++) {
        
        [_datas addObject:[NSString stringWithFormat:@"%ld",i]];
    }
    
}

//
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

    return _datas.count;
}

- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
//    cell.textLabel.text = [NSString stringWithFormat:@"%ld",indexPath.row];
    cell.textLabel.text = _datas[indexPath.row];
    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

//    tableView.editing = YES;
    //点击的哪行就往下面多加一行,然后把*的数据传进去
    [_datas insertObject:@"*" atIndex:indexPath.row+1];
    
    NSIndexPath *customIndexPath = [NSIndexPath indexPathForRow:indexPath.row+1 inSection:0];
    //在点击那行下面新添加一行
    [tableView insertRowsAtIndexPaths:@[customIndexPath] withRowAnimation:UITableViewRowAnimationTop];
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

//向左滑动的出现可以编辑按钮的API
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{

    [_datas removeObjectAtIndex:indexPath.row];
//    [tableView reloadData];
    //删除点击的那一行
    [_tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationBottom];
    NSLog(@"->%ld",indexPath.row);
    
}

@end

向左滑动出现Delete删除键

Paste_Image.png

在点击的行后新添加一行

Paste_Image.png
上一篇下一篇

猜你喜欢

热点阅读