• 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];

    }

     


     
  • 相关阅读:
    Windows Server 2012 R2 密钥
    C# 将List转成树的两种方式(递归、循环)
    C# 实现PPT、Word、Excel文件转为图片
    Net JavaScript:跨域问题(No 'Access-Control-Allow-Origin')
    IIS WebApi: 文件上传,大小限制,提示413 (Request Entity Too Large)
    layui动态表格数据选择添加穿梭框代码
    MySQL + Keepalived 双主热备高可用解决方案
    PHP高并发问题处理思路
    xhprof性能分析工具安装与使用
    uni-app在小程序中v-show指令失效
  • 原文地址:https://www.cnblogs.com/LynnAIQ/p/5952851.html
Copyright © 2020-2023  润新知