iOS tableView编辑添加多个按钮

iOS 新的属性

typedef NS_ENUM(NSInteger, UITableViewRowActionStyle) {

    UITableViewRowActionStyleDefault =0,

    UITableViewRowActionStyleDestructive =UITableViewRowActionStyleDefault,

    UITableViewRowActionStyleNormal

} NS_ENUM_AVAILABLE_IOS(8_0);

 

NS_CLASS_AVAILABLE_IOS(8_0)@interface UITableViewRowAction :NSObject <NSCopying>

 

+ (instancetype)rowActionWithStyle:(UITableViewRowActionStyle)style title:(NSString *)title handler:(void (^)(UITableViewRowAction *action, NSIndexPath *indexPath))handler;

/////////////////下面实现相关代码////////////////////////////

 

(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{

    

    returnYES;

}

 

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

 

{

    

    return UITableViewCellEditingStyleDelete;

    

}

 

-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{

    

    if (editingStyle ==UITableViewCellEditingStyleDelete) {

        

        [self.dataSourceremoveObjectAtIndex:indexPath.row];

        [self.tableViewdeleteRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationAutomatic];

    }

}

- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{

    

    //设置删除按钮

      UITableViewRowAction *deleteRowAction = [UITableViewRowActionrowActionWithStyle:UITableViewRowActionStyleDestructivetitle:@"删除"handler:^(UITableViewRowAction *action,NSIndexPath *indexPath) {

          

          [self.dataSourceremoveObjectAtIndex:indexPath.row];

          [self.tableViewdeleteRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationAutomatic];

          

      }];

    

    //设置收藏按钮

    UITableViewRowAction *collectRowAction = [UITableViewRowActionrowActionWithStyle:UITableViewRowActionStyleDefaulttitle:@"收藏"handler:^(UITableViewRowAction *action,NSIndexPath *indexPath) {

        

      

        collectRowAction.backgroundColor = [UIColorgreenColor];

 

        UIAlertView *alertView = [[UIAlertViewalloc]initWithTitle:@"收藏"message:@"收藏成功"delegate:selfcancelButtonTitle:@"确定"otherButtonTitles:nil,nil];

        [alertView show];

        

        

    }];

    //设置置顶按钮

    UITableViewRowAction *topRowAction = [UITableViewRowActionrowActionWithStyle:UITableViewRowActionStyleDefaulttitle:@"置顶"handler:^(UITableViewRowAction *action,NSIndexPath *indexPath) {

 

        

        [self.dataSourceexchangeObjectAtIndex:indexPath.rowwithObjectAtIndex:0];

        

        NSIndexPath *firstIndexPath = [NSIndexPathindexPathForRow:0inSection:indexPath.section];

        [tableView moveRowAtIndexPath:indexPathtoIndexPath:firstIndexPath];

        

    }];

    

    collectRowAction.backgroundEffect = [UIBlurEffecteffectWithStyle:UIBlurEffectStyleLight];

    topRowAction.backgroundColor = [UIColorblueColor];

    collectRowAction.backgroundColor = [UIColorgrayColor];

    

    return  @[deleteRowAction,collectRowAction,topRowAction];

}

 


 
posted @ 2016-10-12 14:54  琼极一生  阅读(900)  评论(0编辑  收藏  举报