QQ列表的展开收起

@interface RootViewController : UIViewController{

BOOL Close[15]; //用于存放每一组的收起展开状态    YES 是收起  NO是展开

UITableView *_tableView;

}

@property(nonatomic, retain)NSArray *data;

- (void)viewDidLoad{  [super viewDidLoad];  //创建表视图  _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 20, 320, 460) style:UITableViewStylePlain];  //设置代理  _tableView.delegate = self;  _tableView.dataSource = self;  _tableView.sectionHeaderHeight = 44;    [self.view addSubview:_tableView];    //查找文件的路径  NSString *path = [[NSBundle mainBundle] pathForResource:@"font" ofType:@"plist"];  _data = [[NSArray alloc] initWithContentsOfFile:path];}/* _data数据存放的格式 [ [@"字体1",@"字体2",@"字体3",@"字体4",@"字体5"], [@"字体1",@"字体2",@"字体3"], [@"字体1",@"字体2"@"字体5"], [@"字体1",@"字体2",@"字体4",@"字体5"], .... ] */#pragma mark - UITableView dataSource//设置表视图的组的个数- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {  return _data.count;}//设置每一组cell的个数- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {  //取得对应组里面的元素  NSArray *arrary2D = _data[section];    BOOL isClose = Close[section];    if (isClose == NO) {    return arrary2D.count;  }    return 0;  }/* _data数据存放的格式 [ [@"字体1",@"字体2",@"字体3",@"字体4",@"字体5"], [@"字体1",@"字体2",@"字体3"], [@"字体1",@"字体2"@"字体5"], [@"字体1",@"字体2",@"字体4",@"字体5"], .... ] *///创建cell- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {  static NSString *iden = @"cell110";    //从闲置池中去cell  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:iden];    if (cell == nil) {    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:iden] autorelease];  }    NSArray *arrary2D = [_data objectAtIndex:indexPath.section];  NSString *name = [arrary2D objectAtIndex:indexPath.row];    //给cell添加数据  cell.textLabel.text = name;  cell.textLabel.font = [UIFont fontWithName:name size:17];    return cell;  }//设置组的头视图- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {  NSString *name = [NSString stringWithFormat:@"好友分组%d",section];    //创建按钮  UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];  //设置按钮的背景图片  [button setBackgroundImage:[UIImage imageNamed:@"tableCell_common"] forState:UIControlStateNormal];  //设置按钮的标题  [button setTitle:name forState:UIControlStateNormal];  button.tag = section;  //设置按钮显示的标题颜色  [button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];  [button setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];  [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];    return button;  }//按钮的点击事件- (void)buttonAction:(UIButton *)button {  int section = button.tag;//将标示取反Close[section] = !Close[section];    //刷新单元格//[_tableView reloadData];    //刷新特定的组  NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:section];    [_tableView reloadSections:indexSet withRowAnimation:UITableViewRowAnimationFade];}

你可能感兴趣的:(QQ列表的展开收起)