添加底部工具栏和UITableViewCell的滑动删除
一.添加底部工具栏
在工具栏上设置图标时可以使用系统自带图标也可以使用自定义图标,下面分别介绍这两种方法:
1.使用系统自带图标(编辑图标)
UIBarButtonItem *editItem = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemComposetarget:selfaction:@selector(editEventClick)];
2.使用自定义图标(删除图标)
UIBarButtonItem *deleteItem = [[UIBarButtonItemalloc] initWithImage:[UIImageimageNamed:@"ic_delete.png"] style:UIBarButtonItemStylePlaintarget:selfaction:@selector(deleteEventClick)];
工具栏提示:
1.固定空间可以拥有宽度-----在所有UIBarButtonItem’中,只有UIBarButtonSystemItemFixedSpace条目可以被分配一个宽度,因此,创建空间条目,设置其宽度,然后在将其添加到条目列中。
UIBarButtonItem *fixItem1 = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpacetarget:nilaction:nil];
fixItem1.width = 125;
NSArray *arrayItem = [NSArrayarrayWithObjects:fixItem1, editItem,fixItem2,deleteItem,nil];
[selfsetToolbarItems:arrayItem];
此处编辑图标是自定义的图片,删除图标是系统自带,在截图中可以看出二者的区别
运行之后效果图如下:
2.使用一个灵活空间进行左或右对齐-----在条目列表中开始添加一个’ UIBarButtonSystemITemFlexibleSpace会使所有剩余条目右对齐。在末尾添加一个,则左对齐,使用两个UIBarButtonSystemItemFlexibleSpace,一个在开头,一个添加在末尾,会使剩余条目居中对齐。
UIBarButtonItem *fixItem1 = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpacetarget:nilaction:nil];
NSArray *arrayItem = [NSArrayarrayWithObjects:fixItem1,deleteItem,fixItem2,editItem,fixItem2,nil];
[selfsetToolbarItems:arrayItem];
运行之后效果图如下:
(此处编辑图标和删除图标都是系统自带)
二.滑动删除
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
returnYES;
}
//定义编辑样式
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableVieweditingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
returnUITableViewCellEditingStyleDelete;
}
//进入编辑模式
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyleforRowAtIndexPath:(NSIndexPath *)indexPath {
//code
}
启用上面两个代理,并增加数据删除操作:
运行之后效果如下:
若让其左滑删除,则:(核心代码如下)
//取消TableView的右滑,保留左滑
UISwipeGestureRecognizer *swipeRight =[[UISwipeGestureRecognizer alloc]initWithTarget:self action:nil];
swipeRight.direction =UISwipeGestureRecognizerDirectionRight;
[self. tableView addGestureRecognizer:swipeRight];
本文转自HDDevTeam 51CTO博客,原文链接:http://blog.51cto.com/hddev/1248911,如需转载请自行联系原作者