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;
好了,苹果每次更新基本都能提供一些最近流行的,比较好用的方法属性的,记录下来吧