#import "ViewController.h"
@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
{
NSArray *dataArr;
NSMutableArray *isOpenArr;
}
@property (nonatomic,strong)UITableView *tableview;
@property (nonatomic,assign)BOOL openFlag;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_tableview = [[UITableView alloc]initWithFrame:CGRectMake(0, 40, self.view.frame.size.width, self.view.frame.size.height-40)];
_tableview.delegate =self;
_tableview.dataSource = self;
_tableview.tableFooterView = [[UIView alloc]init];
[self.view addSubview:_tableview];
dataArr = [NSArray array];
dataArr = @[@"A",@"B",@"C",@"D",@"E"];
isOpenArr = [NSMutableArray array];
for (int i =0; i< dataArr.count; i++) {
[isOpenArr addObject:@"0"];
}
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 5;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if([isOpenArr[section] isEqualToString:@"1"])
{
return dataArr.count;
}else{
return 0;
}
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *cellstr = @"cell";
UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellstr];
if (!cell) {
cell = [tableView dequeueReusableCellWithIdentifier:cellstr forIndexPath:indexPath];
}
cell.textLabel.text = dataArr[indexPath.row];
return cell;
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 50;
}
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIControl *view = [[UIControl alloc] initWithFrame:CGRectMake(0, 0,self.view.frame.size.width, 50)];
view.backgroundColor = [UIColor colorWithRed:0.849 green:0.195 blue:0.258 alpha:0.7];;
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 4, 70, 30)];
label.textColor = [UIColor colorWithRed:1.000 green:0.985 blue:0.996 alpha:1.000];
label.font = [UIFont systemFontOfSize:14];
label.text = [NSString stringWithFormat:@"第%ld行",section];
[view addSubview:label];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(topgesture:)];
[view addGestureRecognizer:tap];
view.tag = section;
return view;
}
-(void)topgesture:(UITapGestureRecognizer*)tap
{
NSInteger index = tap.view.tag;
if ([isOpenArr[index] isEqualToString:@"1"]) {
[isOpenArr replaceObjectAtIndex:index withObject:@"0"];
}else{
[isOpenArr replaceObjectAtIndex:index withObject:@"1"];
}
[_tableview reloadData];
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[_tableview deselectRowAtIndexPath:indexPath animated:YES];
}