一、简介
ios8.0之前只能定制左划的一个功能按键,若想要实现两个左划功能按键,却需要费一番功夫。自ios8.0之后,苹果推出新的api,来让开发者可以实现自定义左划控件。
二、初始化tableview
如同普通的tableview初始化一样就可以
三、实现tableview的delegate与datasource
实现你需要实现的datasource和delegate
四、实现自定义左划控件需要的代理
如下是具体的实现代码
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
DSLog(@"点击了删除");
}];
UITableViewRowAction *editAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"编辑" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
DSLog(@"点击了编辑");
}];
editAction.backgroundColor = [UIColor grayColor];
return @[deleteAction, editAction];
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
editingStyle = UITableViewCellEditingStyleDelete;
}