标签:
之前的demo都是一个分组显示数据的
这次我们用的是带有分组的tableView
#import "WJJRootViewController.h" @interface WJJRootViewController (){ UITableView * _tableView; NSMutableArray * _dataArray; } @end @implementation WJJRootViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. [self createDataSource]; } - (void)createDataSource{ _dataArray = [[NSMutableArray alloc] init]; //先把工程下 所有的plist路径获取到 装到数组里面 NSArray * plistPath = [[NSBundle mainBundle] pathsForResourcesOfType:@"plist" inDirectory:@""]; //遍历这个数组 把系统的plist剔除 for (NSString * pathString in plistPath) { //如果这个路径 是系统的plist路径 略过 if ([pathString hasSuffix:@"Info.plist"]) { continue; } NSArray * plistArray = [[NSArray alloc] initWithContentsOfFile:pathString]; [_dataArray addObject:plistArray]; } [self createTableView]; } - (void)createTableView{ //tableView的风格是分组的 _tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStyleGrouped]; //设置代理和数据源代理 _tableView.delegate = self; _tableView.dataSource = self; [self.view addSubview:_tableView]; } #pragma mark --UITableViewDelegate-- //tableView是分组类型的 先设置组的个数 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return _dataArray.count; } //设置每组有多少行 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ //返回数据源里 与 section相对应的 数组的元素个数 return [[_dataArray objectAtIndex:section] count]; } //cell的代理方法 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell * cell = [_tableView dequeueReusableCellWithIdentifier:@"ID"]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"ID"]; } NSDictionary * dict = [_dataArray[indexPath.section] objectAtIndex:indexPath.row]; [cell.imageView setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@",[dict objectForKey:@"imageName"]]]]; [cell.textLabel setText:[NSString stringWithFormat:@"%@",[dict objectForKey:@"imageInfo"]]]; [cell.detailTextLabel setText:[NSString stringWithFormat:@"%@",[dict objectForKey:@"imageInfo"]]]; return cell; } //设置头标题 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ //这里的数据是我们自己写的 NSArray * titleArray = @[@"圣斗士",@"海贼王",@"火影忍者",@"妹子们"]; return titleArray[section]; } //设置索引 - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{ return @[@"圣",@"海",@"火",@"妹"]; } //返回行标题的高度 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ return 25; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ [tableView deselectRowAtIndexPath:indexPath animated:YES]; } //返回行的高度 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 70; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/qq1791422018/article/details/47173687