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

首頁 > 系統 > iOS > 正文

iOS中tableview實現編輯、全選及刪除等功能的方法示例

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

前言

我們在日常開發過程中或多或少都會遇到tableview的各種功能,這里簡單記錄一下tableview的刪除和全選刪除功能,廢話不多說先看一下效果圖


既然拿到了需求,就應該想一下如何去實現了,對照上面圖片的內容,應該如何實現呢?

看完上圖之后發現用到的幾個功能:

第一個:左滑刪除

第二個:全選刪除

左邊滑動刪除

實現幾個代理方法后就可以了

-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath { return @"刪除";}

改變左滑后按鈕的文字

-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{  return UITableViewCellEditingStyleDelete; }

滑動刪除樣式,有多中可選,這里返回刪除樣式

- (void)tableView:(UITableView*)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath*)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) {  [self.dataArray removeObjectAtIndex: indexPath.row];  [self.tableView deleteRowsAtIndexPaths:[NSMutableArray arrayWithObject:indexPath]        withRowAnimation:UITableViewRowAnimationFade];  [self.tableView reloadData]; }}

刪除點擊方法,處理想要刪除的數據

這里有一個需要注意點,一定要先更新數據源,在更新UI

左滑刪除就這些代碼了,是不是很easy,在來看全選的代碼

全選刪除

這里我用的是全選功能是系統的方法,沒有自定義按鈕

點擊編輯按鈕的時候設置tableview

  [_tableView setEditing:YES animated:YES];

返回全選的樣式

-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{  return UITableViewCellEditingStyleDelete|UITableViewCellEditingStyleInsert;}

這樣就會出現左側的選中框

再來就是全選按鈕的實現方法

 for (int i = 0; i< self.dataArray.count; i++) {   NSIndexPath *indexPath = [NSIndexPath indexPathForItem:i inSection:0];   [_tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionTop];  }  if (self.deleteArray.count >0) {   [self.deleteArray removeAllObjects];  }  [self.deleteArray addObjectsFromArray:self.dataArray];  [btn setTitle:@"取消" forState:UIControlStateNormal];

當然取消全選也有方法

 for (int i = 0; i< self.dataArray.count; i++) {   NSIndexPath *indexPath = [NSIndexPath indexPathForItem:i inSection:0];   [_tableView deselectRowAtIndexPath:indexPath animated:NO];  }

通過全選按鈕實現的選中方法,需要在方法里把所有數據都添加到想要刪除的數組里面

通過點擊tableviewcell選擇刪除對象的時候需要把想要刪除的數據添加到刪除數組里面

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ if (self.btn.selected) {   NSLog(@"選中");  [self.deleteArray addObject:[self.dataArray objectAtIndex:indexPath.row]]; }else{  NSLog(@"跳轉下一頁"); }}

再次點擊取消選中的數據

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath { if (self.btn.selected) {  NSLog(@"撤銷");  [self.deleteArray removeObject:[self.dataArray objectAtIndex:indexPath.row]]; }else{  NSLog(@"取消跳轉"); }}

問題一:

按照以上方法實現之后就可以實現想要的功能,但是還有UI的問題,那就是選擇之后會出現下圖的問題


會有一層背景色的覆蓋,想要了解的請看看這篇文章 http://www.49028c.com/article/117619.htm

問題二:

還有一個問題 ,在自定義的cell上面添加控件的時候一定要添加到self.contentView上面,否則會出現控件不隨cell移動的問題

 [self.contentView addSubview:self.label];

結束

到這里這篇文章的內容基本算完結了,如果還是有不明白的我在此留下Demo鏈接,里面有更詳細的注釋,Demo沒有做UI適配,想看效果的畫在模擬器6,7上面運行最好

Demo地址:http://git.oschina.net/T1_mine/tableviewedit

本地下載地址:http://xiazai.VeVB.COm/201707/yuanma/tableviewedit(VeVB.COm).rar

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧洲午夜一线一品| 日韩欧美在线视频免费观看| 久久久伊人日本| 国产精品久久久久福利| 日本在线观看天堂男亚洲| 秋霞av国产精品一区| 亚洲激情在线观看视频免费| 2019日本中文字幕| 日韩中文字幕在线免费观看| 日本精品视频在线观看| 97色在线播放视频| 久久久久久久成人| 91国自产精品中文字幕亚洲| 亚洲电影免费观看| 国产精品日韩久久久久| 日韩欧美视频一区二区三区| 亚洲成人激情在线观看| 国产精品视频一区二区高潮| 久久99久久亚洲国产| 川上优av一区二区线观看| 韩日精品中文字幕| 国产精品自产拍在线观看| 日韩美女主播视频| 亚洲欧美国产va在线影院| 蜜月aⅴ免费一区二区三区| 亚洲美女视频网| 中文字幕亚洲一区二区三区五十路| 欧美日韩在线观看视频小说| 亚洲日本中文字幕免费在线不卡| 国产精品三级美女白浆呻吟| 亚洲a成v人在线观看| 久久成年人免费电影| 欧美日韩福利电影| 亚洲美女在线看| 亚洲国产精彩中文乱码av| 久久久久久久999| 国产欧美日韩免费| 欧美激情久久久| 日韩av影片在线观看| 日韩的一区二区| 亚洲伊人久久大香线蕉av| 欧美在线播放视频| 国产亚洲美女久久| 国产精品亚发布| 日韩av在线天堂网| 日本高清久久天堂| 日本久久中文字幕| 91在线观看免费高清| 欧美一级电影在线| 亚洲免费高清视频| 在线播放精品一区二区三区| 国产一区红桃视频| 成人欧美一区二区三区在线湿哒哒| 久久综合国产精品台湾中文娱乐网| www.久久草.com| 国产精品自拍小视频| 在线观看欧美日韩国产| 国产成人精品久久二区二区| 欧美性高潮在线| 欧美高清视频在线播放| 国产精品久久久久久久久久ktv| 欧美在线视频在线播放完整版免费观看| 欧美日韩成人网| 中文字幕亚洲自拍| 国产美女久久精品香蕉69| 九九九热精品免费视频观看网站| 91精品国产成人| 81精品国产乱码久久久久久| 欧美限制级电影在线观看| 国产精品一区二区三区成人| 国产精品美乳在线观看| 亚洲美女喷白浆| 欧美国产日韩一区二区在线观看| 91精品国产成人www| 国产精品成人va在线观看| 88国产精品欧美一区二区三区| 亚洲福利视频免费观看| 国产成人97精品免费看片| 91九色在线视频| 久久久久久综合网天天| 欧美成人黄色小视频| 在线观看亚洲区| 欧美激情综合亚洲一二区| 欧美激情xxxxx| 亚洲色图第一页| 亚洲精品久久久久久久久久久久| 欧美在线欧美在线| 久久久亚洲国产天美传媒修理工| 伦伦影院午夜日韩欧美限制| 欧美一区二区三区四区在线| 亚洲国产成人精品女人久久久| 亚洲最大福利视频网| 国产精品中文久久久久久久| 欧美在线不卡区| 岛国av一区二区三区| 欧美巨猛xxxx猛交黑人97人| 国产视频亚洲精品| 亚洲欧洲在线播放| 亚洲小视频在线| 欧美有码在线观看视频| 国产成人精品久久二区二区| 亚洲欧美在线一区二区| 91精品国产高清自在线| 欧美精品电影免费在线观看| 亚洲欧美日韩在线高清直播| 国产精品色视频| 成人性教育视频在线观看| 日韩av在线网址| 欧美成人网在线| 欧美又大又硬又粗bbbbb| 欧美午夜久久久| 国产一区二区三区在线| 日韩精品免费在线视频| 96精品久久久久中文字幕| 国产精品亚洲视频在线观看| 欧美激情精品久久久久久蜜臀| 日本欧美国产在线| 欧美日韩成人免费| xxav国产精品美女主播| 久久精品电影网| 国产精品成人播放| 国产一区二区三区在线| 国产91精品久久久| 国产偷亚洲偷欧美偷精品| 国产精品青草久久久久福利99| 国产精品视频一区二区三区四| 欧美日韩性视频在线| 中文字幕欧美日韩| 欧美视频在线观看免费| 韩国三级电影久久久久久| 亚洲成人aaa| 亚洲第一福利网| 2019中文字幕在线| 国产精品视频久| 精品爽片免费看久久| 欧美高清视频在线播放| 午夜精品福利在线观看| 91青草视频久久| 欧美裸体男粗大视频在线观看| 国产精品∨欧美精品v日韩精品| 91精品国产91久久| 午夜精品久久久久久久白皮肤| 亚洲色图35p| 亚洲性线免费观看视频成熟| 亚洲国产欧美自拍| 日本成人精品在线| 国产精品视频成人| 欧美伦理91i| 久久影视电视剧免费网站清宫辞电视| 97精品久久久中文字幕免费| 久久精品色欧美aⅴ一区二区| 国产日韩av高清| 2019中文字幕免费视频| 久久亚洲成人精品| 日韩欧美国产黄色| 亚洲美女av在线| 国产suv精品一区二区三区88区| 久久天天躁狠狠躁夜夜躁2014| 国产精品电影久久久久电影网| 全亚洲最色的网站在线观看| 97人人爽人人喊人人模波多| 国产欧美va欧美va香蕉在| 最近2019中文字幕第三页视频| 国产免费一区视频观看免费|