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