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

    }

     


     
  • 相关阅读:
    回车代码兼容火狐浏览器
    js区分浏览器类型
    阶段总结(2014-07-23)
    Spring学习笔记 2014-7-9
    Maven学习笔记
    QQ协议的研究
    模仿微信打飞机做的程序
    滚动字幕
    13年8月15日阿里云服务器网络故障事件
    [转]程序员自己写的神器 MonoDevelop 4 (Xamarin Studio) Debugging for Unity
  • 原文地址:https://www.cnblogs.com/LynnAIQ/p/5952851.html
Copyright © 2011-2022 走看看