zoukankan      html  css  js  c++  java
  • 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];

    }

     


     
  • 相关阅读:
    缓存穿透、缓存雪崩、缓存击穿的区别和解决方案
    图解“红黑树”原理,一看就明白!
    Linux系统中常见文件系统格式
    Maven 加载ojdbc14.jar报错,解决方法
    mybatis中#{}和${}的区别
    SqlServer 分页批按时间排序
    Centos7安装与配置domain模式wildfly(默认配置)
    通过java调用Http接口上传图片到服务器
    Spring boot 配置array,list,map
    idea+springboot+freemarker热部署
  • 原文地址:https://www.cnblogs.com/LynnAIQ/p/5952851.html
Copyright © 2011-2022 走看看