国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

iOS實(shí)現(xiàn)列表折疊效果

2020-07-26 02:18:04
字體:
供稿:網(wǎng)友

本文實(shí)例為大家分享了iOS實(shí)現(xiàn)列表折疊效果的具體代碼,供大家參考,具體內(nèi)容如下

實(shí)現(xiàn)列表折疊效果其實(shí)比較簡(jiǎn)單,點(diǎn)擊列表頭部的時(shí)候,把返回列表行數(shù)設(shè)為 0,就是收起列表;再次點(diǎn)擊列表頭部,顯示列表的行數(shù),就展開了列表。

#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]; //初始化選中狀態(tài)(默認(rèn)都不選擇) 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]; } //初始化列表頭部折疊狀態(tài) for (NSInteger i=0; i<arrData.count; i++) {  [dictShow setObject:@"0" forKey:STR_NUM(i)]; }}#pragma mark - TableViewDataSource,UITableViewDelegate 擴(kuò)展- (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

效果圖

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 遂宁市| 景洪市| 武穴市| 稻城县| 平湖市| 鹤峰县| 郓城县| 衢州市| 新乡市| 香港| 祁东县| 巧家县| 抚宁县| 灯塔市| 南投市| 溆浦县| 闽清县| 丰原市| 东山县| 黔江区| 永和县| 株洲县| 商都县| 都昌县| 玉门市| 新民市| 定陶县| 桐柏县| 济宁市| 光山县| 石渠县| 高要市| 修武县| 托里县| 许昌县| 师宗县| 彝良县| 台江县| 灵台县| 庆城县| 得荣县|