iOS8之后,UITableViewRowAction实现滑动多个按钮

#pragma mark - View lifeCycle
- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:reuseIdentifier];
}

#pragma mark - UITableViewDataSource Methods

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.dataArray.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
    cell.textLabel.text = self.dataArray[indexPath.row];
    return cell;
}

#pragma mark - UITableViewDelegate Methods

- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        NSLog(@"删除-%@", @(indexPath.row));
        [self.dataArray removeObjectAtIndex:indexPath.row];
        [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
    }];

    UITableViewRowAction *otherAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"置顶" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        NSLog(@"置顶-%@", @(indexPath.row));
        [self.dataArray exchangeObjectAtIndex:indexPath.row withObjectAtIndex:0];
        NSIndexPath *toIndexPath = [NSIndexPath indexPathForRow:0 inSection:indexPath.section];
        [self.tableView moveRowAtIndexPath:indexPath toIndexPath:toIndexPath];
    }];

    return @[deleteAction, otherAction];
}

#pragma mark - getter Methods

- (NSMutableArray *)dataArray {
    if (!_dataArray) {
        _dataArray = [NSMutableArray array];
        [_dataArray addObjectsFromArray:@[@"Kingdev:row:0",
                                          @"Kingdev:row:1",
                                          @"Kingdev:row:2",
                                          @"Kingdev:row:3",
                                          @"Kingdev:row:4",
                                          @"Kingdev:row:5",
                                          @"Kingdev:row:6",
                                          @"Kingdev:row:7",
                                          @"Kingdev:row:8",
                                          @"Kingdev:row:9",
                                          @"Kingdev:row:10",
                                          @"Kingdev:row:11",
                                          @"Kingdev:row:12"
                                          ]];
    }
    return _dataArray;
}
尊重作者劳动成果,转载请注明: 【kingdev】
时间: 2024-10-08 08:11:39

iOS8之后,UITableViewRowAction实现滑动多个按钮的相关文章

iOS开发&gt;学无止境 - UITablView上下滑动控制底部按钮的出现和消失

今天我们一起来做一个好玩的功能,通过UITablView上下滑动控制底部按钮的出现和消失.先来看看效果: 需求分析 要做一个这样的功能,对你来说应该不难,实现的方式也有很多.我们来分析一下要实现那几个小功能点: UITablView向上滑动,底部按钮消失 UITablView向下滑动,底部按钮出现 UITablView滑动到底部,底部按钮出现 主要就是这三个小功能点.那么很简单,我们只需要判断UITablView是往上滑动,还是往下滑动,以及判断UITablView是否滑动到底部即可. 代码实现

cell左右滑动展开更多按钮-MGSwipeTableCell

MGSwipeTableCell是一个UITableViewCell的子类, 它实现了左,右滑动展开更多按钮用来实现一些相关操作就和QQ好友列表滑动展开的按钮一样,封装的很好,动画效果也处理很到位,废话不多说,我们来看下它的简单集成 1.写一个类来继承他,和UITableView一样的使用 2.设置代理delegate,并且实现协议MGSwipeTableCellDelegate的一些方法 1 #pragma mark - MGSwipeTableCellDelegate 2  3 - (NSA

实现滑动出现删除按钮的代码

// Override to support conditional editing of the table view. - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { // Return NO if you do not want the specified item to be editable. // if (indexPath.section == 0

iOS8 用UITableViewRowAction实现Cell自定义滑动操作

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {    return YES; } - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {    return UITableV

js移动端向左滑动出现删除按钮

最近在做移动端项目时,需要实现一个列表页面的每一项item向左滑动时出现相应的删除按钮,本来想着直接使用zepto的touch.js插件,因为之前实现相同的功能时用过这个插件,当时还挺好用的,直接使用它的swipeLeft和swipeRight方法即可,可是今天又开始做这个功能时,却发现这两个方法在使用时毫无效果,一点反应都没有.上网查资料,又下载了最新版本的zepto和touch.js,都没有用,也不知为什么?所以就弃用了这个插件.下面是我后来实现后的代码,其实就是用了原生js的touch事件

重写listview,横向滑动出现删除按钮,点击按钮删除item

首先看一下效果图: 接下来看具体操作: 准备一个删除按钮的布局,新建button.xml文件,代码如下所示: <?xml version="1.0" encoding="utf-8"?> <Button xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/btn" android:layout_width=&q

使用swiper 3的时候,图片滑动无法显示按钮的方法

1.在项目于当中使用swiper3做上下滑动H5页面的时候,里面再次嵌套一个swiper或者touchslider滑动插件的时候(在width:100%的时候显示正常),当宽度小于100%的时候,按钮控件无法显示 方法一 在向上滑动的时候显示一个遮罩层 语言组织太差,不知道有没有看懂

[Swift通天遁地]二、表格表单-(7)电子邮件Mail:实现单元格左右滑动调出功能按钮

本文将演示对单元格进行扩展,当手指在单元格左右滑动时,弹出不同的功能菜单. Github项目:[MGSwipeTableCell] 下载该项目的源代码.文件夹[demo]->文件夹[MailAppDemoSwift]->文件夹[MailAppDemoSwift] ->双击文件[MailAppDemoSwift.xcodeproj]打开示例工程. 选择该项目中的几个文件,拖动到自己的开发项目中.按住[Shift],选择 [MGSwipeButton.h] [MGSwipeButton.m]

ios8 tableView设置滑动删除时 显示多个按钮

** *  tableView:editActionsForRowAtIndexPath:     //设置滑动删除时显示多个按钮 *  UITableViewRowAction                        //通过此类创建按钮 *  1. 我们在使用一些应用的时候,在滑动一些联系人的某一行的时候,会出现删除.置顶.更多等等的按钮,在iOS8之前,我们都需要自己去实现.但是,到了iOS8,系统已经写好了,只需要一个代理方法和一个类就搞定了 *  2. iOS8的协议多了一个方法