UITableviewCell左滑操作

仍是使用系统的框架方法,我自己有尝试使用给cell添加手势,在cell的底层添加一些操作的入口,但是没有实现出来,有实现出来的大神,可以留下链接~


UITableviewCell左滑操作_第1张图片
cell底部的功能入口
使用系统的方式建立左滑的功能
// 设置的cell为编辑效果
cell.editingAccessoryType = UITableViewCellAccessoryDetailButton;

#pragma mark - tableView自带的编辑功能
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        KTLog(@"标记为已回访");
    }
}
// 选择编辑的样式
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    return UITableViewCellEditingStyleDelete;
}
// 修改delete的文字
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
    return @"标记为\n已回访";
}

// 设置显示多个按钮
- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {
//    UITableViewRowAction 通过此类创建按钮
    /*
     * 1. 我们在使用一些应用的时候,在滑动一些联系人的某一行的时候,会出现删除、置顶、更多等等的按钮,在iOS8之前,我们都需要自己去实现。到了iOS8,系统已经写好了,只需要一个代理方法和一个类就搞定了
     
     * 2. iOS8的协议多了一个方法,返回值是数组的tableView:editActionsForRowAtIndexPath:方法,我们可以在方法内部写好几个按钮,然后放到数组中返回,那些按钮的类就是UITableViewRowAction
     
     * 3. 在UITableViewRowAction类,我们可以设置按钮的样式、显示的文字、背景色、和按钮的事件(事件在Block中实现)
     
     * 4. 在代理方法中,我们可以创建多个按钮放到数组中返回,最先放入数组的按钮显示在最右侧,最后放入的显示在最左侧
     
     * 5. 注意:如果我们自己设定了一个或多个按钮,系统自带的删除按钮就消失了...
     */
    

    UITableViewRowAction * deleteRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        
    }];
    deleteRowAction.backgroundColor = [UIColor redColor];
    
    UITableViewRowAction * topRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"置顶" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        
    }];
    topRowAction.backgroundColor = [UIColor blueColor];
    
    UITableViewRowAction * moreRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"更多" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        
    }];
    
    return @[deleteRowAction,topRowAction,moreRowAction];
}
UITableviewCell左滑操作_第2张图片
左滑操作

你可能感兴趣的:(UITableviewCell左滑操作)