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

首頁 > 系統 > iOS > 正文

IOS實現展開二級列表效果

2020-07-26 03:16:34
字體:
來源:轉載
供稿:網友

先來看看效果圖

用法(類似UITableView)

初始化XDMultTableView

#import "XDMultTableView.h"...@property(nonatomic, readwrite, strong)XDMultTableView *tableView; _tableView = [[XDMultTableView alloc] initWithFrame:CGRectMake(0, 64, self.view.frame.size.width, self.view.frame.size.height-64)]; _tableView.openSectionArray = [NSArray arrayWithObjects:@1,@2, nil]; _tableView.delegate = self; _tableView.datasource = self; _tableView.backgroundColor = [UIColor whiteColor]; [self.view addSubview:_tableView];

實現數據源

- (NSInteger)mTableView:(XDMultTableView *)mTableView numberOfRowsInSection:(NSInteger)section{ return 5;}- (XDMultTableViewCell *)mTableView:(XDMultTableView *)mTableView    cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *cellIdentifier = @"cell"; UITableViewCell *cell = [mTableView dequeueReusableCellWithIdentifier:cellIdentifier]; if (cell == nil) {  cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; } UIView *view = [[UIView alloc] initWithFrame:cell.bounds] ; view.layer.backgroundColor = [UIColor whiteColor].CGColor; view.layer.masksToBounds = YES; view.layer.borderWidth  = 0.3; view.layer.borderColor  = [UIColor lightGrayColor].CGColor; cell.backgroundView = view; cell.selectionStyle = UITableViewCellSelectionStyleNone; return cell;}- (NSInteger)numberOfSectionsInTableView:(XDMultTableView *)mTableView{ return 6;}-(NSString *)mTableView:(XDMultTableView *)mTableView titleForHeaderInSection:(NSInteger)section{ return @"我是頭部";}

實現代理

- (CGFloat)mTableView:(XDMultTableView *)mTableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 50;}- (CGFloat)mTableView:(XDMultTableView *)mTableView heightForHeaderInSection:(NSInteger)section{ return 40;}- (void)mTableView:(XDMultTableView *)mTableView willOpenHeaderAtSection:(NSInteger)section{ NSLog(@"即將展開");}- (void)mTableView:(XDMultTableView *)mTableView willCloseHeaderAtSection:(NSInteger)section{ NSLog(@"即將關閉");}- (void)mTableView:(XDMultTableView *)mTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ NSLog(@"點擊cell");}

列表展開關閉的實現原理
在section header注冊一個手勢

//section header view 設置tag值為sectionview.tag = section;UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapHeader:)]; [view addGestureRecognizer:tap];

手勢的響應事件

- (void)tapHeader:(UITapGestureRecognizer *) tap { NSInteger section = tap.view.tag; NSNumber *sectionObj = [NSNumber numberWithInteger:section]; UIImageView *imageView = (UIImageView *)[tap.view viewWithTag:100]; //_multopenSectionArray 用于記錄每個 section的展開和關閉狀態 if ([_multopenSectionArray containsObject:sectionObj]) {  NSArray *deleteArray = [self buildDeleteRowWithSection:section];  [_multopenSectionArray removeObject:sectionObj];  //想關閉的section的所有indexPath  [_tableView deleteRowsAtIndexPaths:deleteArray withRowAnimation:UITableViewRowAnimationFade];  [UIView animateWithDuration:0.3 animations:^{   imageView.transform = CGAffineTransformMakeRotation(-M_PI/2);  }]; }else{  [_multopenSectionArray addObject:sectionObj];  //想展開的section的所有indexPath  NSArray *insertArray = [self buildInsertRowWithSection:section];  [_tableView insertRowsAtIndexPaths:insertArray withRowAnimation:UITableViewRowAnimationFade];  [UIView animateWithDuration:0.3 animations:^{   imageView.transform = CGAffineTransformMakeRotation(0);  }]; }}

總結

以上就是IOS實現展開二級列表效果的全部內容,希望對大家學習開發IOS能有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品免费久久久久| 亚洲国产精久久久久久久| 最近2019中文字幕一页二页| 国产精品亚洲网站| 国产精品视频免费在线观看| 自拍视频国产精品| 国内精品小视频| 日本成熟性欧美| 亚洲国产欧美一区二区丝袜黑人| 成人福利免费观看| 亚洲成人av片| 欧美日韩一区二区精品| 91精品国产91久久久久久久久| 麻豆国产va免费精品高清在线| 中文字幕日韩欧美精品在线观看| 亚洲人成电影在线| 亚洲精品国偷自产在线99热| 欧美成人小视频| 91久久精品国产91性色| 亚洲欧美日韩国产精品| 日韩网站免费观看| 欧美日韩中文字幕| 亚洲成人亚洲激情| 国产欧美婷婷中文| 影音先锋欧美在线资源| 国产成人小视频在线观看| 国产区亚洲区欧美区| 尤物yw午夜国产精品视频明星| 日韩高清电影免费观看完整版| 国产精品99久久久久久久久| 亚洲第一区第一页| 92版电视剧仙鹤神针在线观看| 麻豆乱码国产一区二区三区| 国产精品一区二区久久久久| 8090成年在线看片午夜| 欧美不卡视频一区发布| 国产视频久久久| 欧美专区国产专区| 欧洲亚洲在线视频| 秋霞午夜一区二区| www国产亚洲精品久久网站| 最近2019年好看中文字幕视频| 欧美成人中文字幕在线| 精品亚洲男同gayvideo网站| 热门国产精品亚洲第一区在线| 草民午夜欧美限制a级福利片| 国产mv久久久| 欧美亚洲午夜视频在线观看| 久久综合网hezyo| 中日韩美女免费视频网址在线观看| 国产亚洲激情视频在线| 久久国产精品久久久| 亚洲国产97在线精品一区| 在线视频欧美日韩精品| 亚洲美女视频网| 亚洲欧美国产精品专区久久| 欧美大片免费观看| 茄子视频成人在线| 国产精品久久久久久久久久久久| 亚洲国产精品va在线看黑人动漫| 欧美猛交免费看| 成年人精品视频| 欧美性猛交xxxxx免费看| 中文字幕不卡在线视频极品| 精品久久久国产| 国产精品久久一| 中文字幕成人在线| 国产精品一区二区在线| 国产精品成人aaaaa网站| 综合国产在线视频| 亚洲欧美激情一区| 成人av资源在线播放| 日本三级韩国三级久久| 91精品国产91久久久| 在线观看国产成人av片| 欧美国产亚洲精品久久久8v| 91国产中文字幕| 一区二区三区国产视频| 欧美疯狂性受xxxxx另类| 国产欧美日韩免费看aⅴ视频| 国产精品久久久久久影视| 91av视频在线免费观看| 亚洲激情视频网| 国产精品va在线播放我和闺蜜| 九九热99久久久国产盗摄| 91精品视频在线免费观看| 欧美日韩在线看| 成人精品视频久久久久| 国产精欧美一区二区三区| 久热精品视频在线| 国产精品美女久久久久av超清| 国产精品7m视频| 一本一本久久a久久精品综合小说| 国产精品欧美在线| 亚洲视频欧洲视频| 97超级碰碰人国产在线观看| 久久久视频免费观看| 国产精品色视频| 亚洲va久久久噜噜噜久久天堂| 秋霞av国产精品一区| 狠狠色噜噜狠狠狠狠97| 久热精品视频在线| 亚洲小视频在线| 欧美日本高清一区| 久久久精品999| 欧美丰满少妇xxxx| 欧美在线激情视频| 久久全球大尺度高清视频| 亚洲第一色在线| 亚洲精品xxx| 国产精品亚洲第一区| 欧美一级黑人aaaaaaa做受| 日本成人激情视频| 欧美成人午夜剧场免费观看| 欧美中文在线观看| 欧美激情一区二区三级高清视频| 一区二区中文字幕| 91在线视频精品| 欧美激情一区二区三级高清视频| 欧美理论在线观看| 成人午夜在线观看| 日韩在线播放一区| 日韩中文字幕在线精品| 91久热免费在线视频| 欧美大片免费观看在线观看网站推荐| 亚洲天堂色网站| 国产精品高精视频免费| 另类少妇人与禽zozz0性伦| 精品久久久久久久久中文字幕| 国产精品日韩专区| 亚洲欧美一区二区精品久久久| 欧美国产高跟鞋裸体秀xxxhd| 亚洲一区二区久久久| 播播国产欧美激情| 日韩在线一区二区三区免费视频| 青青精品视频播放| 亚洲第一天堂av| 一本色道久久综合狠狠躁篇的优点| 亚洲精品国产suv| 精品成人国产在线观看男人呻吟| 日本高清不卡在线| 欧美性精品220| 亚州精品天堂中文字幕| 成人欧美一区二区三区在线| 亚洲国产日韩一区| 亚洲精品在线观看www| 日本欧美在线视频| 亚洲欧美国产一本综合首页| 亚洲男女自偷自拍图片另类| 亚洲最新在线视频| 国产欧美日韩丝袜精品一区| 69久久夜色精品国产69乱青草| 久久久噜噜噜久久| 亚洲欧美视频在线| 久久天天躁狠狠躁夜夜av| 精品亚洲一区二区| 久久久精品亚洲| www.日本久久久久com.| 欧美国产视频日韩| 97涩涩爰在线观看亚洲| 日韩激情av在线播放| 亚洲激情视频网站| 中文字幕精品—区二区| 久久综合久久88|