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

首頁 > 系統 > iOS > 正文

iOS實現列表折疊效果

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

本文實例為大家分享了iOS實現列表折疊效果的具體代碼,供大家參考,具體內容如下

實現列表折疊效果其實比較簡單,點擊列表頭部的時候,把返回列表行數設為 0,就是收起列表;再次點擊列表頭部,顯示列表的行數,就展開了列表。

#import "TableDownUpVC.h"#import "TableViewCell_TableSelect.h"@interface TableDownUpVC (){ NSMutableDictionary *dicSelet; NSArray *arrData; NSMutableArray *arrStatus; NSInteger selectFlag; NSMutableDictionary *dictShow;}@property (nonatomic, strong) UIImageView *imgArror;@end@implementation TableDownUpVC- (void)viewDidLoad { [super viewDidLoad]; self.tableView.autoresizingMask = UIViewAutoresizingFlexibleHeight; self.title = @"列表折疊效果"; dictShow = [[NSMutableDictionary alloc] init]; arrStatus = [[NSMutableArray alloc] init]; NSDictionary *dict0 = @{@"section":@"頭部0",       @"content":@[@{@"title":@"Section0",@"subTitle":@"Row0",@"avator":@"user_default_blue"},           @{@"title":@"Section0",@"subTitle":@"Row1",@"avator":@"user_default_blue"},           @{@"title":@"Section0",@"subTitle":@"Row2",@"avator":@"user_default_blue"}]}; NSDictionary *dict1 = @{@"section":@"頭部1",       @"content":@[@{@"title":@"Section1",@"subTitle":@"Row0",@"avator":@"user_default_blue"},           @{@"title":@"Section1",@"subTitle":@"Row1",@"avator":@"user_default_blue"},           @{@"title":@"Section1",@"subTitle":@"Row2",@"avator":@"user_default_blue"}]}; NSDictionary *dict2 = @{@"section":@"頭部2",       @"content":@[@{@"title":@"Section2",@"subTitle":@"Row0",@"avator":@"user_default_blue"},           @{@"title":@"Section2",@"subTitle":@"Row1",@"avator":@"user_default_blue"},           @{@"title":@"Section2",@"subTitle":@"Row2",@"avator":@"user_default_blue"}]}; arrData = @[dict0,dict1,dict2]; dicSelet = [[NSMutableDictionary alloc] init]; //初始化選中狀態(默認都不選擇) for (NSInteger i=0; i<arrData.count; i++) {  NSArray *content = arrData[i][@"content"];  NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];  for (NSInteger j=0; j<content.count; j++) {   [dict setObject:@"0" forKey:STR_NUM(j)];  }  [arrStatus addObject:dict]; } //初始化列表頭部折疊狀態 for (NSInteger i=0; i<arrData.count; i++) {  [dictShow setObject:@"0" forKey:STR_NUM(i)]; }}#pragma mark - TableViewDataSource,UITableViewDelegate 擴展- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return arrData.count;}- (NSInteger)tableViewEx:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ NSString *isShow = dictShow[STR_NUM(section)]; if ([isShow isEqualToString:@"0"]) {  NSArray *arr = arrData[section][@"content"];  return arr.count; } else {  return 0; }}- (CGFloat)tableViewEx:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 60;}- (UITableViewCell *)tableViewEx:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString * identifier = @"cellIdentifier"; TableViewCell_TableSelect *cell = [tableView dequeueReusableCellWithIdentifier:identifier]; cell.selectionStyle = UITableViewCellSelectionStyleNone; if (cell == nil) {  cell = [[TableViewCell_TableSelect alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:identifier]; } [cell setDictInfo:arrData[indexPath.section][@"content"][indexPath.row]]; [cell setAccessoryImage:arrStatus[indexPath.section][STR_NUM(indexPath.row)]]; return cell;}- (void)tableViewEx:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ NSMutableDictionary *dict = arrStatus[indexPath.section]; NSString *str = dict[STR_NUM(indexPath.row)]; if ([str isEqualToString:@"0"]) {  [dict setValue:@"1" forKey:STR_NUM(indexPath.row)]; } else {  [dict setValue:@"0" forKey:STR_NUM(indexPath.row)]; } [self.tableView reloadData];}- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 50;}- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{ return 10;}- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ UIView *headerView = [UICommonCtrl commonViewWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 50) color:kColor_White]; UILabel *title = [UICommonCtrl commonLabelWithFrame:CGRectMake(10, 15, 200, 20)             text:arrData[section][@"section"]             color:kColor_Black             font:kFont_Large           textAlignment:NSTextAlignmentLeft]; [headerView addSubview:title]; _imgArror = [UICommonCtrl commonImageViewWithFrame:CGRectMake(SCREEN_WIDTH-20, 22.5, 10, 5) image:nil]; [headerView addSubview:_imgArror]; NSString *str = [dictShow objectForKey:STR_NUM(section)]; if ([str isEqualToString:@"0"]) {  _imgArror.image = [UIImage imageNamed:@"icon_down"]; } else {  _imgArror.image = [UIImage imageNamed:@"icon_up"]; } @weakify(self) UIButton *btn = [UICommonCtrl commonButtonWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 50)             text:@""             color:kColor_Black             font:kFont_Large          backgroundImage:nil             block:^(UIButton *btn) {              @strongify(self)              NSString *str = [dictShow objectForKey:STR_NUM(section)];              if ([str isEqualToString:@"0"]) {               [dictShow setValue:@"1" forKey:STR_NUM(section)];              } else {               [dictShow setValue:@"0" forKey:STR_NUM(section)];              }              [self refreshSection:section];             }]; [headerView addSubview:btn]; for (NSInteger i=0; i<2; i++) {  UIView *line = [UICommonCtrl commonLineViewWithFrame:CGRectMake(0, (50-LINE_SIZE)*i, SCREEN_WIDTH, LINE_SIZE) color:kColor_Line];  [headerView addSubview:line]; } return headerView;}- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{ UIView *footerView = [UICommonCtrl commonViewWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 10) color:kColor_Background]; return footerView;}- (void)refreshSection:(NSInteger)section{ NSIndexSet *indexSet=[[NSIndexSet alloc]initWithIndex:section]; [self.tableView reloadSections:indexSet withRowAnimation:UITableViewRowAnimationFade];}@end

效果圖

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区美女视频在线观看免费| 国产欧美日韩丝袜精品一区| 91免费看国产| 欧美激情精品久久久久久黑人| 精品久久久久久久久久| 久久综合五月天| 精品国产成人av| 中国人与牲禽动交精品| 亚洲欧洲一区二区三区在线观看| 国产精品久久不能| 91成品人片a无限观看| 91高清在线免费观看| 亚洲变态欧美另类捆绑| 国产精品视频一区二区三区四| 久久久电影免费观看完整版| 国产成人精品久久二区二区91| 在线国产精品视频| 日韩专区在线播放| 成人情趣片在线观看免费| 中文字幕国产精品久久| 国产精品麻豆va在线播放| 成人疯狂猛交xxx| 亚洲性线免费观看视频成熟| 欧美丰满少妇xxxxx做受| 国产精品亚洲一区二区三区| 日韩大陆毛片av| 欧美国产激情18| 亚洲精品久久久一区二区三区| 欧美极品美女视频网站在线观看免费| 91在线精品视频| 欧美黄色三级网站| 中文字幕欧美视频在线| 欧美另类在线观看| 国产精品1234| 亚洲欧美中文字幕在线一区| 久久这里只有精品视频首页| 91美女片黄在线观看游戏| 国产一区二区精品丝袜| 亚洲精品成人av| 久久精品国产精品| 国产精品高精视频免费| 91精品视频专区| 亚洲欧美福利视频| 国产91|九色| 97视频在线观看免费高清完整版在线观看| 亚洲性夜色噜噜噜7777| 亚洲国产精彩中文乱码av在线播放| 国产视频精品久久久| 欧美成人四级hd版| 日韩小视频在线| 亚洲国产日韩一区| 久久久精品影院| 日韩黄色在线免费观看| 亚洲欧美中文在线视频| 久久久精品国产亚洲| 久久久久亚洲精品国产| 亚洲二区在线播放视频| 国产精品福利在线观看网址| 国产成人精品一区二区三区| 日韩电影中文字幕在线| 日本久久亚洲电影| 欧美国产日本高清在线| 欧美裸体xxxx极品少妇软件| 久久久久国色av免费观看性色| 成人黄色av播放免费| 亚洲精品之草原avav久久| 国产精品丝袜高跟| 国产视频精品一区二区三区| 国产美女久久久| 亚洲免费小视频| 国产综合在线观看视频| 亚洲人精品午夜在线观看| 亚洲欧美一区二区三区久久| 亚洲精品久久久久中文字幕欢迎你| 日韩电影中文字幕一区| 亚洲欧洲美洲在线综合| 黄色一区二区在线观看| 欧美超级乱淫片喷水| 国产精品女视频| 不卡av在线网站| 国产亚洲精品久久久久久牛牛| 欧美午夜宅男影院在线观看| 国产精品丝袜久久久久久不卡| 久久久久久久久久久av| 日韩视频在线免费观看| 日韩中文av在线| 欧美日韩在线第一页| 亚洲精品久久久久国产| 日韩av观看网址| 亚洲国模精品一区| 日韩日本欧美亚洲| 欧美另类老肥妇| 国产a∨精品一区二区三区不卡| 国产精品丝袜久久久久久不卡| 91视频国产精品| 97精品国产aⅴ7777| 在线播放国产一区中文字幕剧情欧美| 国产综合在线看| 中文字幕成人精品久久不卡| 欧美激情精品久久久| 在线视频日本亚洲性| 亚洲电影免费在线观看| 97精品久久久| 亚洲自拍av在线| 亚洲国产精品久久精品怡红院| 亚洲va男人天堂| 欧美制服第一页| 日韩av影院在线观看| 日韩av电影院| 日韩av网址在线| 亚洲视频一区二区| 黑人狂躁日本妞一区二区三区| 国产主播欧美精品| 日韩成人在线网站| 97视频免费看| 91精品久久久久| 欧美亚洲国产视频| 欧美日韩中国免费专区在线看| 久久精品国产成人| 亚洲成人网在线观看| 日韩毛片中文字幕| 69av在线视频| 97视频在线观看视频免费视频| 国产一区二区免费| 欧美激情videos| 亚洲影院污污.| 国产精品久久久久久久久久东京| 亚洲精品乱码久久久久久金桔影视| 日韩美女视频在线观看| 欧美乱妇高清无乱码| 精品国产一区av| 国产欧美精品在线| 欧美性生交xxxxx久久久| 欧美激情在线观看视频| 日韩成人在线视频观看| 亚洲sss综合天堂久久| 国产精品女人久久久久久| 久久国产视频网站| 日韩欧美在线视频观看| 亚洲欧美另类中文字幕| 国产精品欧美日韩| 国产欧美亚洲视频| 国产视频丨精品|在线观看| 亚洲一区二区三区在线免费观看| 91av在线视频观看| 亚洲第一网中文字幕| 久久久精品电影| 亚洲аv电影天堂网| 亚洲最大激情中文字幕| 国产在线精品播放| 欧美韩日一区二区| 国产视频久久久久| 国内免费久久久久久久久久久| 欧美片一区二区三区| 亚洲图片制服诱惑| 久久99青青精品免费观看| 日韩激情第一页| 久久久综合免费视频| 亚洲美女av网站| 国产精品欧美日韩一区二区| 国产精品视频男人的天堂| 美女久久久久久久| 国产精品成人观看视频国产奇米| 亚洲最大福利视频|