亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS 多選刪除功能附tableViewTips及單選刪除

2020-07-26 02:48:50
字體:
來源:轉載
供稿:網友

一、前言

這次分享并記錄一下tableView的多選刪除,并額外記錄一下單選刪除及tableView的設置小技巧。

二、想要實現的效果圖如下:

1、先上原圖

2、然后編輯圖如下:

3、編輯步驟:

點擊右上角按鈕編輯,界面呈現編輯狀態底部刪除按鈕彈出

選擇刪除cell項,點擊右下角刪除可刪除

點擊右上角,退出編輯狀態,底部刪除按鈕退出界面

三、多選刪除核心代碼

1、設置允許tableView編輯狀態下允許多選

_mainTableView.allowsMultipleSelectionDuringEditing = YES;

2、將cell設置為可選擇的風格(下面代碼是在自定義Cell內部)

self.selectionStyle = UITableViewCellSelectionStyleDefault;

說明:因為自認為系統的選中狀態很難看,所以在cell的基類里已經把 selectionStyle 設置為None,但是想要多選必須將其打開,大家切記。

3、不喜歡系統的選中狀態,可更改選中狀態的背景(下面也是在自定義cell內部)

 UIView *view = [[UIView alloc] init]; view.backgroundColor = UIColorFromRGB(0xF6F6F6); self.selectedBackgroundView = view;

4、右上角點擊事件

 [self.viewModel.rightViewModel.clickSubject subscribeNext:^(id x) {    @strongify(self);    if (self.mainTableView.editing) {      self.viewModel.rightViewModel.title = @"編輯";      [UIView animateWithDuration:0.5 animations:^{        [self.mainTableView mas_remakeConstraints:^(MASConstraintMaker *make) {          @strongify(self);          make.edges.equalTo(self);        }];      }];    } else {      self.viewModel.rightViewModel.title = @"確定";      [UIView animateWithDuration:0.5 animations:^{        [self.mainTableView mas_remakeConstraints:^(MASConstraintMaker *make) {          @strongify(self);          make.left.right.top.equalTo(self);          make.bottom.equalTo(-50);        }];      }];    }    [self.mainTableView setEditing:!self.mainTableView.editing animated:YES];  }];

5、右下角刪除事件

 [[[self.deleteBtn rac_signalForControlEvents:UIControlEventTouchUpInside] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(id x) {     @strongify(self);    NSMutableArray *deleteArray = [NSMutableArray array];    for (NSIndexPath *indexPath in self.mainTableView.indexPathsForSelectedRows) {      [deleteArray addObject:self.viewModel.dataArray[indexPath.row]];    }    NSMutableArray *currentArray = self.viewModel.dataArray;    [currentArray removeObjectsInArray:deleteArray];    self.viewModel.dataArray = currentArray;    [self.mainTableView deleteRowsAtIndexPaths:self.mainTableView.indexPathsForSelectedRows withRowAnimation:UITableViewRowAnimationLeft];//刪除對應數據的cell    dispatch_time_t delayTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC));    dispatch_after(delayTime, dispatch_get_main_queue(), ^{      @strongify(self);      [self.mainTableView reloadData];    });  }];

四、單個刪除(分為系統左滑,和點擊cell上刪除按鈕兩種)

1、系統左滑

#pragma mark - delete- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {  return UITableViewCellEditingStyleDelete;}- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {  return @"刪除此經驗";}- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {  [self.viewModel.deleteCommand execute:indexPath];}

說明:刪除操作數據及UI刷新和多選是一致的,就不上代碼了,這里只需注意左滑需要遵循的系統代理就行。

2、點擊Cell刪除

與系統左滑刪除的不同僅僅是手動觸發刪除事件而已。

  [[[self.deleteBtn rac_signalForControlEvents:UIControlEventTouchUpInside] takeUntil:self.rac_prepareForReuseSignal] subscribeNext:^(id x) {    [viewModel.deleteCommand execute:nil];  }];

單個刪除的操作數據和UI刷新也上下代碼吧!(雖然有些重復o(亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

国产精品久久久久久中文字| 国产欧美精品久久久| 97精品国产97久久久久久春色| 日本久久久久久久| 欧美日韩国产精品一区二区三区四区| 久久在线免费视频| 欧美色xxxx| 国产精品久久综合av爱欲tv| 亚洲欧洲在线视频| 亚洲国产小视频在线观看| 伊人av综合网| 97久久久久久| 国产成人中文字幕| 性色av一区二区三区在线观看| 亚洲国产精品人久久电影| 国产精品劲爆视频| 国产精品96久久久久久又黄又硬| 日本一区二三区好的精华液| 韩国视频理论视频久久| 欧美精品手机在线| 亚洲自拍偷拍福利| 亚洲人成77777在线观看网| 一本色道久久综合亚洲精品小说| 亚洲国产精品网站| 海角国产乱辈乱精品视频| 尤物yw午夜国产精品视频| 美日韩精品免费观看视频| 亚洲精品99久久久久中文字幕| 国产97色在线|日韩| 色av吧综合网| 成人伊人精品色xxxx视频| 欧美xxxx综合视频| 欧美疯狂做受xxxx高潮| 国产精品福利在线观看| 国产一区二区三区中文| 川上优av一区二区线观看| 亚洲人成电影网站色| www.日本久久久久com.| 国产香蕉一区二区三区在线视频| 欧美一区二区三区艳史| 国产a∨精品一区二区三区不卡| 国产免费一区二区三区在线观看| 91av在线精品| 性视频1819p久久| 成人精品福利视频| 久久久极品av| 中文字幕亚洲无线码在线一区| 亚洲福利视频网| 亚洲va电影大全| 国产成人亚洲综合91精品| 日韩成人中文字幕在线观看| 亚洲精品xxxx| 亚洲激情视频在线观看| 国产+成+人+亚洲欧洲| 红桃av永久久久| 久久久国产一区| 国产日韩在线亚洲字幕中文| 日韩精品中文在线观看| 国产精品亚洲美女av网站| 精品美女永久免费视频| 国自在线精品视频| 国产精品成人免费视频| 亚洲美女中文字幕| 国产亚洲免费的视频看| 97在线视频免费播放| 国产精品视频永久免费播放| 亚洲人成绝费网站色www| 国产精品激情av电影在线观看| 国产+人+亚洲| 国产精品入口夜色视频大尺度| 亚洲欧美国产一区二区三区| 动漫精品一区二区| 久久久久久国产精品美女| 日韩精品欧美激情| 自拍偷拍亚洲在线| 欧美一区二区三区免费视| 欧美午夜性色大片在线观看| 日韩欧亚中文在线| 深夜福利亚洲导航| 久久天天躁狠狠躁夜夜躁2014| 中文亚洲视频在线| 国产精品美女www| 亚洲欧洲日本专区| 国产日本欧美一区二区三区在线| 国产日韩欧美综合| 国产精品一二三视频| 国产91成人在在线播放| 91超碰caoporn97人人| 欧美裸身视频免费观看| 久久综合免费视频影院| 国产精品jvid在线观看蜜臀| 欧美亚洲国产视频小说| 91成人天堂久久成人| 亚洲福利小视频| 91高清视频在线免费观看| 91久久久久久久一区二区| 亚洲国产欧美久久| 成人中心免费视频| 国产精品久久久久久久久久久久久| 韩国美女主播一区| 欧美日韩一区二区在线| 久久亚洲精品一区| 中文字幕不卡av| 日韩av色综合| 激情亚洲一区二区三区四区| 亚洲成人网在线| 日韩美女写真福利在线观看| 国产成人黄色av| 68精品国产免费久久久久久婷婷| 精品爽片免费看久久| 国产日韩欧美自拍| 久久夜色精品国产亚洲aⅴ| 91精品综合久久久久久五月天| 国产亚洲精品久久久| 97视频网站入口| 欧美视频免费在线| 国产成人午夜视频网址| 97香蕉久久夜色精品国产| 国产va免费精品高清在线观看| 国产日韩综合一区二区性色av| 国产精品成人av在线| 亚洲黄色在线观看| 亚洲毛茸茸少妇高潮呻吟| 91免费福利视频| 国产日韩欧美在线视频观看| 国产精品中文字幕久久久| 午夜精品久久久久久久男人的天堂| 欧美日韩在线视频首页| 国产精品在线看| 中文字幕亚洲欧美在线| 中日韩美女免费视频网站在线观看| 欧美日韩国产一区二区三区| 欧美在线日韩在线| 色一区av在线| 欧美巨猛xxxx猛交黑人97人| 尤物yw午夜国产精品视频| 国内精品久久久久影院 日本资源| 久久精品国产99国产精品澳门| 亚洲成色www8888| 国产欧美日韩丝袜精品一区| 欧美一区三区三区高中清蜜桃| 91啪国产在线| 中文字幕九色91在线| 成人深夜直播免费观看| 欧美在线视频一二三| 丝袜情趣国产精品| 青青草成人在线| 日韩电影免费在线观看| 国产精品日韩一区| 亚洲xxxxx性| 日本韩国在线不卡| 亚洲va男人天堂| 色一区av在线| 中文字幕日韩高清| 日韩**中文字幕毛片| 色噜噜狠狠狠综合曰曰曰88av| 欧美高清视频一区二区| 91视频88av| 性亚洲最疯狂xxxx高清| 日韩欧美主播在线| 久久九九有精品国产23| 日韩中文在线视频| 国产日韩视频在线观看| 久久精品色欧美aⅴ一区二区|