美文网首页iOS
tabview添加多个删除按钮

tabview添加多个删除按钮

作者: 说不出口的喵 | 来源:发表于2017-12-20 20:38 被阅读11次

    #pragma mark 在滑动手势删除某一行的时候,显示出更多的按钮

    - (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath

    {

    // 添加一个删除按钮

    UITableViewRowAction *deleteRowAction = [UITableViewRowActionrowActionWithStyle:UITableViewRowActionStyleDestructive title:@删除handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {

    NSLog(@点击了删除);

    // 1. 更新数据

    [_allDataArray removeObjectAtIndex:indexPath.row];

    // 2. 更新UI

    [tableView deleteRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationAutomatic];

    }];

    // 删除一个置顶按钮

    UITableViewRowAction *topRowAction = [UITableViewRowActionrowActionWithStyle:UITableViewRowActionStyleDefault title:@置顶handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {

    NSLog(@点击了置顶);

    // 1. 更新数据

    [_allDataArray exchangeObjectAtIndex:indexPath.row withObjectAtIndex:0];

    // 2. 更新UI

    NSIndexPath *firstIndexPath = [NSIndexPath indexPathForRow:0inSection:indexPath.section];

    [tableView moveRowAtIndexPath:indexPathtoIndexPath:firstIndexPath];

    }];

    topRowAction.backgroundColor = [UIColor blueColor];

    // 添加一个更多按钮

    UITableViewRowAction *moreRowAction = [UITableViewRowActionrowActionWithStyle:UITableViewRowActionStyleNormal title:@更多handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {

    NSLog(@点击了更多);

    [tableView reloadRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationMiddle];

    }];

    moreRowAction.backgroundEffect = [UIBlurEffecteffectWithStyle:UIBlurEffectStyleDark];

    // 将设置好的按钮放到数组中返回

    return @[deleteRowAction, topRowAction, moreRowAction];

    }

    相关文章

      网友评论

        本文标题:tabview添加多个删除按钮

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