首页 > 代码库 > iOS---》点击uitableview 的section展开或隐藏
iOS---》点击uitableview 的section展开或隐藏
#import <UIKit/UIKit.h>@interface TestCell : UITableViewCell@property (weak, nonatomic) IBOutlet UILabel *firstLabel;@property (weak, nonatomic) IBOutlet UILabel *endLabel;@property (weak, nonatomic) IBOutlet UIView *myView;@end#import "TestCell.h"@implementation TestCell- (void)awakeFromNib { _myView.layer.borderColor=[UIColor clearColor].CGColor; // Initialization code}- (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state}@end#import "ViewController.h"#import "TestCell.h"@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>{ NSMutableArray *rowArray; BOOL *flag;}@property (weak, nonatomic) IBOutlet UITableView *myTableView;@end@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad]; rowArray=[NSMutableArray arrayWithObjects:@"1",@"2",@"3", @"4",@"5",@"6",@"7",@"8",@"9",nil]; flag = (BOOL*)malloc(rowArray.count*sizeof(BOOL*)); memset(flag, NO, sizeof(*flag)); //_myTableView.separatorStyle=UITableViewCellSeparatorStyleNone; // Do any additional setup after loading the view, typically from a nib.}- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return rowArray.count;}-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ if (flag[section]) { return rowArray.count; } else { return 0; }}-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ TestCell *cell=[tableView dequeueReusableCellWithIdentifier:@"TestCell"]; cell.firstLabel.text=rowArray[indexPath.row]; cell.endLabel.text=rowArray[indexPath.row]; return cell;}-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{ if (section==0) { return [self firstView]; } return [self sectionView:section];}-(UIView *)firstView{ UIView *contentView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 32)]; UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(10, 15, 40, 15)]; label.text=@"--1--"; [contentView addSubview:label]; return contentView;}-(UIView *)sectionView:(NSInteger)section{ UIView *contentView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 32)]; UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom]; btn.frame=CGRectMake(375-50, 15, 30, 16); btn.tag=section; [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(10, 15, 40, 15)]; label.text=@"测试"; if(flag[section]) { [ btn setBackgroundImage:[UIImage imageNamed:@"open"] forState:UIControlStateNormal]; } else { [ btn setBackgroundImage:[UIImage imageNamed:@"close"] forState:UIControlStateNormal]; } [contentView addSubview:btn]; [contentView addSubview:label]; contentView.layer.borderColor=[UIColor lightGrayColor].CGColor; contentView.layer.borderWidth=1.0; contentView.alpha=1.0; return contentView;}-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 40;}-(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{ return 2;}-(void)btnClick:(UIButton *)sender{ int index=(int)sender.tag; flag[index]=!flag[index]; [_myTableView reloadData];}@end
iOS---》点击uitableview 的section展开或隐藏
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。