首先,我们初始化一个界面,以列表的形式展示
1
2
3
4
5
6
7
8
9
10
11
|
#pragma mark - 初始化UI - ( void )initUI{ self .view.backgroundColor = RGB(242, 242, 247); self .automaticallyAdjustsScrollViewInsets = NO ; sideslipTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 60, kScreenWidth, kScreenHeight - 60) style:UITableViewStylePlain]; sideslipTableView.backgroundColor = [UIColor clearColor]; sideslipTableView.delegate = self ; sideslipTableView.dataSource = self ; sideslipTableView.separatorStyle = UITableViewCellSeparatorStyleNone; [ self .view addSubview:sideslipTableView]; } |
然后,准备数据源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>{ UITableView *sideslipTableView; //可变数组,用于删除数据 NSMutableArray *dataArray; } @end @implementation ViewController - ( void )viewDidLoad { [ super viewDidLoad]; [ self initUI]; dataArray = [ NSMutableArray arrayWithArray: @[ @"1111" , @"2222" , @"3333" , @"4444" , @"5555" , @"6666" , @"7777" , @"8888" , @"9999" ]]; } |
接下来我们要将数据显示出来
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#pragma mark - 行 - ( NSInteger )tableView:(UITableView *)tableView numberOfRowsInSection:( NSInteger )section{ return dataArray.count; } #pragma mark - 行高 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:( NSIndexPath *)indexPath{ return 46; } #pragma mark - cell内容 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:( NSIndexPath *)indexPath{ static NSString *indefier = @"cell" ; sideslipTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:indefier]; if (!cell) { cell = [[sideslipTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:indefier]; } cell.selectionStyle = UITableViewCellSelectionStyleNone; cell.lable.text = dataArray[indexPath.row]; return cell; } |
最后,实现UITableView的一些代理方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
//先要设Cell可编辑 - ( BOOL )tableView:(UITableView *)tableView canEditRowAtIndexPath:( NSIndexPath *)indexPath { return YES ; } //定义编辑样式 - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:( NSIndexPath *)indexPath { return UITableViewCellEditingStyleDelete; } //进入编辑模式,按下出现的编辑按钮后,进行删除操作 - ( void )tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:( NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { [dataArray removeObjectAtIndex:indexPath.row]; // Delete the row from the data source. [sideslipTableView deleteRowsAtIndexPaths:[ NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; } } //修改编辑按钮文字 - ( NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:( NSIndexPath *)indexPath { return @"删除" ; } |
这样就可以实现UITableViewCell滑动删除的效果啦。
效果图: