iOS知识收集程序员iOS Developer

QQ左滑出现3个点击框的方法

2016-03-16  本文已影响417人  蒋昉霖

这方法iOS8才出的,老是忘,还是记录一下吧

// 写这一个方法,自动进入编辑模式,出现左滑效果
- (NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // UITableViewRowAction创建了活动
    /**
    typedef NS_ENUM(NSInteger, UITableViewRowActionStyle) {
        UITableViewRowActionStyleDefault = 0,
        UITableViewRowActionStyleDestructive =                 UITableViewRowActionStyleDefault,
        UITableViewRowActionStyleNormal
    } NS_ENUM_AVAILABLE_IOS(8_0) __TVOS_PROHIBITED;
    /
    // 看得出来这三个枚举很扯淡...一个默认,一个一般,一个等于默认...
    // 回调方法里写点击事件
    UITableViewRowAction *rowAction = [UITableViewRowAction rowActionWithStyle:(UITableViewRowActionStyleNormal) title:@"乐呵拉赫" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        NSLog(@"来给大爷笑一个");
    }];
    
    UITableViewRowAction *rowAction2 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"乐呵你妹" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        NSLog(@"doubi");
    }];
    
    UITableViewRowAction *rowAction3 = [UITableViewRowAction rowActionWithStyle:(UITableViewRowActionStyleDefault) title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        NSLog(@"删了");
    }];
    UITableViewRowAction *rowAction4 = [UITableViewRowAction rowActionWithStyle:(UITableViewRowActionStyleDestructive) title:@"111" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
        NSLog(@"222");
    }];
    rowAction.backgroundColor = [UIColor redColor];
    rowAction2.backgroundColor = [UIColor greenColor];
    NSArray *array = @[rowAction,rowAction3,rowAction2,rowAction4];
    return array;
}

这个方法里面,左拉框会根据你内部的文字大小自适应宽度,高度与cell等宽
UITableViewRowAction一共有三个可变属性,文字,背景色和毛玻璃效果

@property (nonatomic, readonly) UITableViewRowActionStyle style;
@property (nonatomic, copy, nullable) NSString *title;
@property (nonatomic, copy, nullable) UIColor *backgroundColor; // default background color is dependent on style
@property (nonatomic, copy, nullable) UIVisualEffect* backgroundEffect;

好了,苹果每次更新基本都能提供一些最近流行的,比较好用的方法属性的,记录下来吧

上一篇下一篇

猜你喜欢

热点阅读