2015年7月9日 UITableView

时间:2022-08-28 11:43:59

本文 是通过建模 获取数据的

UITableView  分为Grouped 模式  和  plain  模式

在写 UITableView 的时候需要先把 数据源 交给 控制器

- (void)viewDidLoad {
[super viewDidLoad];

//设置数据源
self.tableView.dataSource = self;
}

然后就是带哦用数据源方法

//有多少组数据

// How many sets of data
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return self.automobileGroups.count;
}

//每组数据有多少行

// section groups have how many rows
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
AutomobileGroups* a1 = self.automobileGroups[section];
return a1.automobiles.count;
}

//每行的信息是什么
这里是这个如果 要添加  详情信息   就要换成这个 UITableViewCellStyleSubtitle

// Each row shows cell how
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
// indexPath.row 行
// indexPath.section 组
AutomobileGroups* a1 = self.automobileGroups[indexPath.section];

UITableViewCell* cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
cell.textLabel.text = a1.automobiles[indexPath.row];
 //cell.detailTextLabel.text    详情信息    return cell;    }


// 如果 添加  头部  和  结尾 

- (NSString*)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{//头部
AutomobileGroups* ag = self.automobileGroups[section];
return ag.title;
}

- (NSString*)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section{//结尾
AutomobileGroups* ag = self.automobileGroups[section];
return ag.desc;
}

//修改table 的高度   默认 高度 为44

方法一

self.tableView.rowHeight = 60;

第二种 为代理的方法  

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
//可以 改变 某些 行的行高
return 60;
}