首先,我们初始化一个界面,以列表的形式展示
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滑动删除的效果啦。
效果图: