美文网首页我的收藏
UITableViewCell侧滑按钮的设置

UITableViewCell侧滑按钮的设置

作者: 浮桥小麦 | 来源:发表于2016-07-01 09:47 被阅读1047次

    前言:以前只知道实现一个代理方法可以实现UITableViewCell侧滑可以出现一个系统默认的删除按钮,前两天才发现这个按钮可以进行一些设置,并且可以添加其他按钮并执行一些代码操作,上代码

    1--我们先简单的创建一个UITableView并在cell上显示点东西
    ViewController.m文件
    #import "ViewController.h"
    #import "NextViewController.h"
    
    @interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
    /**tableView*/
    @property (nonatomic , strong) UITableView *tableView;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    
        self.tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 60, self.view.frame.size.width , self.view.frame.size.height) style: UITableViewStylePlain];
        //self.tableView.backgroundColor = [UIColor orangeColor];
        self.tableView.delegate = self;
        self.tableView.dataSource = self;
          self.tableView.rowHeight = 80;
        [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"cell"];
        [self.view addSubview:self.tableView];
    }
    
    #pragma mark -- 数据源方法
    
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        return 10;
    }
    
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
          UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
        cell.textLabel.text = [NSString stringWithFormat:@"row --- %ld",(long)indexPath.row];
        cell.backgroundColor = [UIColor blueColor];
         return  cell;
    }
    
    
    
    2--实现代理方法并设置侧滑按钮
    #pragma mark -- 代理方法
    //实现了这个方法就有滑动的删除按钮了
    - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
    {
        
    }
    //这个方法就是可以自己添加一些侧滑出来的按钮,并执行一些命令和按钮设置
    - (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(nonnull NSIndexPath *)indexPath
    {
        //设置按钮(它默认第一个是修改系统的)
        UITableViewRowAction *action = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"咬我" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
               NSLog(@"咬我啊");
      }];
     //设置按钮(它默认第一个是修改系统的)
        UITableViewRowAction *action1 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"跳转" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
           //执行跳转到下个界面操作 
            NextViewController *vc = [[NextViewController alloc]init];
               [self presentViewController:vc animated:YES completion:nil];
         }];
    
        action1.backgroundColor = [UIColor colorWithRed:0.9305 green:0.3394 blue:1.0 alpha:1.0];
       return @[action,action1];
     }
    
    @end
    
    
    现在基本可以利用cell干更多的事情了

    相关文章

      网友评论

        本文标题:UITableViewCell侧滑按钮的设置

        本文链接:https://www.haomeiwen.com/subject/zgpfjttx.html