如圖:
直接拷貝以下內(nèi)容修改自己的圖片以及cell即可
//MARK: 設(shè)置左滑按鈕的樣式
- (void)setupSlideBtnWithEditingIndexPath:(NSIndexPath *)editingIndexPath {
? ? // 判斷系統(tǒng)是否是 iOS13 及以上版本
? ? if(@available(iOS 13.0, *)) {
? ? ? ? for(UIView*subViewinself.tableView.subviews) {
? ? ? ? ? ? if([subViewisKindOfClass:NSClassFromString(@"_UITableViewCellSwipeContainerView")] && [subView.subviewscount] >= 1) {
? ? ? ? ? ? ? ? // 修改圖片
? ? ? ? ? ? ? ? UIView*remarkContentView = subView.subviews.firstObject;
? ? ? ? ? ? ? ? [selfsetupRowActionView:remarkContentView];
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return;
? ? }
? ? // 判斷系統(tǒng)是否是 iOS11 及以上版本
? ? if(@available(iOS 11.0, *)) {
? ? ? ? for(UIView*subViewinself.tableView.subviews) {
? ? ? ? ? ? if([subViewisKindOfClass:NSClassFromString(@"UISwipeActionPullView")] && [subView.subviewscount] >= 1) {
? ? ? ? ? ? ? ? // 修改圖片
? ? ? ? ? ? ? ? UIView*remarkContentView = subView;
? ? ? ? ? ? ? ? [selfsetupRowActionView:remarkContentView];
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return;
? ? }
? ? // iOS11 以下的版本
? ? setTimeViewCell *cell = [self.tableView cellForRowAtIndexPath:editingIndexPath];
? ? for(UIView*subViewincell.subviews) {
? ? ? ? if([subViewisKindOfClass:NSClassFromString(@"UITableViewCellDeleteConfirmationView")] && [subView.subviewscount] >= 1) {
? ? ? ? ? ? // 修改圖片
? ? ? ? ? ? UIView*remarkContentView = subView;
? ? ? ? ? ? [selfsetupRowActionView:remarkContentView];
? ? ? ? }
? ? }
}
- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath{
? ? dispatch_async(dispatch_get_main_queue(), ^{
? ? ? ? ? [self setupSlideBtnWithEditingIndexPath:indexPath];
? ? ? });
}
- (NSArray*)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(nonnull NSIndexPath *)indexPath{
? ? //title不設(shè)為nil 而是空字符串 理由為啥 ?? 自己實(shí)踐 跑到ios11以下的機(jī)器上就知道為啥了
? ? UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:@"? ? ? ? " handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){
? ? ? ? NSLog(@"哈哈哈哈");
? ? ? ? [tableViewsetEditing:NOanimated:YES];? // 這句很重要,退出編輯模式,隱藏左滑菜單
? ? }];
? ? return@[deleteAction];
}
- (void)setupRowActionView:(UIView*)rowActionView {
? ? // 切割圓角
//? ? [rowActionView cl_setCornerAllRadiusWithRadiu:20];
? ? // 改變父 View 的frame,這句話是因?yàn)槲以?contentView 里加了另一個(gè) View,為了使劃出的按鈕能與其達(dá)到同一高度
? ? CGRectframe = rowActionView.frame;
? ? frame.origin.y+= (7);
? ? frame.size.height-= (13);
? ? rowActionView.frame= frame;
? ? // 拿到按鈕,設(shè)置
? ? UIButton*button = rowActionView.subviews.firstObject;
? ? [buttonsetImage:[UIImage imageNamed:@"刪除 (1)"]? forState:UIControlStateNormal];
? ? [buttonsetTitle:@"" forState:UIControlStateNormal];
}