iOS 11 editActionsForRowAtIndexPath

iOS 11下 editActionsForRowAtIndexPath被替换成两个新的代理

Demo

// iOS 11 新特性 左边侧滑

- (nullable UISwipeActionsConfiguration *)tableView:(UITableView *)tableView leadingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath {
}

// iOS 11 新特性 右边侧滑
- (nullable UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath {
}

直接进行左右两边进行侧滑操作

UIKIT_EXTERN API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos)
@interface UIContextualAction : NSObject

+ (instancetype)contextualActionWithStyle:(UIContextualActionStyle)style title:(nullable NSString *)title handler:(UIContextualActionHandler)handler;

@property (nonatomic, readonly) UIContextualActionStyle style;
@property (nonatomic, copy, readonly) UIContextualActionHandler handler;

@property (nonatomic, copy, nullable) NSString *title;
@property (nonatomic, copy, nullable) UIColor *backgroundColor; // a default background color is set from the action style
@property (nonatomic, copy, nullable) UIImage *image;
- (nullable UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath {
  
    ICCollectionBaseCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    if (@available(iOS 11.0, *)) {
        UIContextualAction *shareRowAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleNormal title:@"" handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {
            [self selectBtnClicked:cell];
            if ([self.delegate respondsToSelector:@selector(didClickForwardBtn:)]) {
                [self.delegate didClickForwardBtn:cell];
            }
            completionHandler(YES);
        }];
        shareRowAction.image = [UIImage imageNamed:@"icon_collection_slide_share"];
        shareRowAction.backgroundColor = BACKGROUNDCOLOR;
        
        UIContextualAction *deleteRowAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive title:@"" handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {
            [self selectBtnClicked:cell];
            if ([self.delegate respondsToSelector:@selector(didClickDeleteBtn:)]) {
                [self.delegate didClickDeleteBtn:cell];
            }
            completionHandler(YES);
        }];
        deleteRowAction.image = [UIImage imageNamed:@"icon_collection_slide_delete"];
        deleteRowAction.backgroundColor = BACKGROUNDCOLOR;
        
        UISwipeActionsConfiguration *config = [UISwipeActionsConfiguration configurationWithActions:@[deleteRowAction, shareRowAction]];
        return config;
    } else {
        // Fallback on earlier versions
    }
    return nil;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏iOS Developer

Swift纯代码走进UICollectionView

3672
来自专栏c#开发者

ios5开发-UITableView开启编辑功能

该例子添加UITableView编辑功能 具体功能如下 ? 功能很简单但很实用  @implementation AppDelegate @synthesiz...

3567
来自专栏Python疯子

UIWebview与OC交互以及加载失败

Simulator Screen Shot 2016年4月16日 00.27.57.png

1351
来自专栏Alice

效果类似于label从下往上滑(采用uiTableView实现)

首先附上效果图 ? ? 进行描述一下:效果就是类似于是一个竖直方向的滚动视图 并且方向是从下往上  并且能够一直这样循环下去。 代码“ // // ViewC...

2155
来自专栏hrscy

iOS百度地图开发之路径规划

2553
来自专栏Python疯子

Swift - 给TableView添加编辑功能(删除,插入)

1,下面的样例是给表格UITableView添加编辑功能: (1)给表格添加长按功能,长按后表格进入编辑状态 (2)在编辑状态下,第一个分组处于删除状态,第...

1762
来自专栏清墨_iOS分享

自学Swift之路(一)UI入手之基本控件

本系列文章都是以有OC基础来写的,所以注释不会写太多,对基础不够了解的同学可能不太适合,另外本系列文章不是以教程式的形式来写,是记录学习过程的,所以不会有多少讲...

84711
来自专栏前端儿

Web 前端颜色值--字体--使用,整理整理

颜色值 CSS 颜色使用组合了红绿蓝颜色值 (RGB) 的十六进制 (hex) 表示法进行定义。对光源进行设置的最低值可以是 0(十六进制 00)。最高值是 2...

3432
来自专栏coding...

iOS开发-RAC+MVVM练手项目 图床App写在前面准备工作界面设计首页历史关于后记

前段时间闲着无聊和盆友就搞了个图床站Chevereto-Free,忽然发现居然有API提供,而且很简单,只需要一个KEY就可以

962
来自专栏浅探ARKit

ARKit 在模型上播放视频(附进度控制)

国际惯例先上效果图 [Untitled.gif] ####原理 把模型的material 设置成AVPlayer 就可以了 SCNMaterial \*...

46112

扫码关注云+社区