美文网首页
IOS开发UI篇------cell左滑多个按钮显示

IOS开发UI篇------cell左滑多个按钮显示

作者: 包佳奇 | 来源:发表于2017-04-12 18:34 被阅读557次

    在我们平时的应用软件中我经常会选中某一栏内容进行左滑进行一些操作设置,如图例所示:

    1.gif
    1.在tableview的代理方法中-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath可以实现cell左滑显示按钮操作,不过默认状态下左滑只有删除按钮并且默认是Delete字样
    2.gif
    2.那么要是实现左滑多个按钮怎么去做呢? iOS8的协议多了一个方法,- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath返回值是数组,通过UITableViewRowAction这个类创建按钮然后将多个按钮放到数组中
    - (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
    {
     UITableViewRowAction *action0 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"删除" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
            
            [self.allcities removeObjectAtIndex:indexPath.row];
            [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
            
            NSLog(@"点击了删除");
         
        }];
        UITableViewRowAction *action1 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"关注" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
            NSLog(@"点击了关注");
          // 收回左滑出现的按钮(退出编辑模式)
            tableView.editing = NO;
        }];
        UITableViewRowAction *action2 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"编辑" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
           
            NSLog(@"点击了编辑");
            
            tableView.editing = NO;
        }];
        return @[action0, action1, action2];
    }
    

    3.在UITableViewRowAction类中,UITableViewRowActionStyleNormal背景色默认是灰色,UITableViewRowActionStyleDefault = UITableViewRowActionStyleDestructive背景色默认是红色,在block代码块中可以进行相应的事件操作

    3.gif
    4.按钮从左到右的显示顺序依次是添加按钮的先后顺序的倒序(最后添加的显示到最左面)

    相关文章

      网友评论

          本文标题:IOS开发UI篇------cell左滑多个按钮显示

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