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 条评论
登录 后参与评论

相关文章

来自专栏coding...

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

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

692
来自专栏清墨_iOS分享

自学Swift之路(二)UITableView自定义和实际利用

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

4109
来自专栏王大锤

iOS原生的搜索:UISearchController

2443
来自专栏xx_Cc的学习总结专栏

iOS-UITableView 详解(一)

2685
来自专栏coding...

iOS开发实战-时光记账Demo 本地数据库版效果分析Demo地址

由于主页只是一个展示的时光轴界面,UIScrollView加几个按钮就能完成,需要读取数据库内容,所以我们先把内页-增加账单 完成。

762
来自专栏iOS开发攻城狮的集散地

iOS小结

1866
来自专栏清墨_iOS分享

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

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

58211
来自专栏c#开发者

ios-zbar scanview 根据扫描区域切割图片

在scanview中添加扫描区域 ZBarReaderViewController *reader = [ZBarReaderViewController ne...

3337
来自专栏ShaoYL

iOS-UI控件之UITableView(四)- cell数据刷新

3316
来自专栏進无尽的文章

实践-小效果 V

关键效果设置:在改变tableHeaderView的高度后,再手动调用下 Tb 的 setTableHeaderView方法。

952

扫码关注云+社区