iOS下 开发自定义折叠列表

这个还是最开始进入到iOS行业中的代码之前写的完全不能看,只是简单记载一下。偶尔翻到,更新一下吧。

之前可能写起来感觉好麻烦,现在回想一下感觉写的好弱智。。
但是毕竟是当初第一次项目中总结出来的代码,又不舍得删,留个纪念吧。。。

功能的话就只是一个简单的利用键值来取Cell高度进行隐藏或者显示的功能

定义
@interface ViewController(){
NSMutableArray* list;
NSMutableDictionary* dic1;
NSMutableDictionary* dic2;
NSMutableDictionary* sallDic;
}
@end

之前项目需求做多语言版本所以就加上了NSLocalizedString

初始化值
- (void)viewDidLoad
{
      [superviewDidLoad];

    dic1= [[NSMutableDictionary alloc]init];
    dic2= [[NSMutableDictionary alloc]init];

    [dic1 setObject:NSLocalizedString(@"cent_cheliangbaoyang",@"车辆保养")forKey:@"name"];
    [dic1 setObject:NSLocalizedString(@"cent_baoyangriqi",@"距保养过期里程:")forKey:@"one"];
    [dic1 setObject:NSLocalizedString(@"cent_weiquandianhua",@"维修电话:")forKey:@"two"];
    [dic2 setObject:NSLocalizedString(@"cent_baoxianzixun",@"保险咨询")forKey:@"name"];
    [dic2 setObject:NSLocalizedString(@"cent_baoxiuriqi",@"车辆保修期剩余时间:已超过0")forKey:@"one"];
    [dic2 setObject:NSLocalizedString(@"cent_nianshengriqi",@"车辆年审期剩余时间:已超过0")forKey:@"two"];

    list= [[NSMutableArrayalloc]init];
    [list addObject:dic1];
    [list addObject:dic2];

    alldic= [[NSMutableDictionaryalloc]init];
}
cell个数
- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section
{
      return list.count;
}
生成Cell
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
  *****添加Cell
   //在自定义Cell里面添加一个显示和隐藏的方法。
   //当初有点ZZ 没有把这里面的方法贴出来
  return cell;
}
根据保存的值进行取高度
-(CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath
{
  NSString* name = [[list objectAtIndex:indexPath.row]objectForKey:@"name"];
return[[[lsallDic objectForKey:name]objectForKey:@"KEY"]isEqualToString:@"YES"]?100:50;
}
将allDic里面的值做变化,将@“key”的值进行改变,刷新当前行
-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
       NSString* name = [[list objectAtIndex:indexPath.row]objectForKey:@"name"];
       if([allDic objectForKey:name]==nil) {
           NSMutableDictionary*seldic = [[NSMutableDictionaryalloc]init];
           [seldic setObject:@"1"forKey:@"KEY"];
           [seldic setObject:@"NO"forKey:name];
           [alldic setObject:seldicforKey:name];
        }
        if([[[alldic objectForKey:name] objectForKey:@"KEY"] isEqualToString:@"YES"]) {
            [[alldic objectForKey:name] setObject:@"NO"forKey:@"KEY"];
        }else{
            [[listisalldicobjectForKey:name]setObject:@"YES"forKey:@"KEY"];
        }
        [tableView reloadRowsAtIndexPaths:[NSArrayarrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone];
}

你可能感兴趣的:(iOS下 开发自定义折叠列表)