iOS UITableView基础

2016-06-28  本文已影响81人  Lambo316

一、UITableView的创建

UITableView *tabelView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStyleGrouped];

//Plain样式:分区头/分区尾会停靠在tableView头部和尾部

//group样式:分区头/尾高度大于Plain样式时的高度,头尾不会停靠

//行号 row  从0开始

//分区 section  从0开始

二、属性设置

//设置每一行的高度,所有行的高度相等

tabelView.rowHeight = 100;

//设置分割线的颜色

tabelView.separatorColor = [UIColor yellowColor];

//设置分割线的样式

tabelView.separatorStyle = UITableViewCellSeparatorStyleNone;

//设置数据代理

tabelView.dataSource = self;

//设置其他相关代理

tabelView.delegate = self;

//注册cell类

//告诉tableView cell中所有重用标识reuse,都使用这种cell

//[UITableViewCell class]:不是创建,而是表示有这样的的类型的类

[tabelView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"reuse"];

三、方法实现

//返回特定分区行数 -- section

//tableView 默认有一个分区

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

//返回每一行要显示的cell

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

//当重用池中具有对应重用标识的cell时,返回重用池中的cell

//如果没有,则返回nil;

//当注册了标识对应的cell类后,重用池,会创建一个新的cell返回

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"reuse”];

//当没有注册的时候,则需判断

if (cell == nil) {

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"reuse"];

}

}

//返回分区数

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{

return 5;

}

//返回指定row的行高

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

//返回每一个分区头的标题

-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section

//返回指定分区头的高度

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

//返回每一个分区尾的标题

-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section

//返回View做为分区头

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

//返回View做为分区尾

-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

//cell被点击时响应的方法

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

//重新刷新页面

[self.tableView reloadData];

//读取数据

NSString *path = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"plist”];

//通过分区号和行号获取对应的cell

[tableView cellForRowAtIndexPath:(nonnull NSIndexPath *)];

//通过cell获取所在的分区号和行号

[tableView indexPathForCell:(nonnull UITableViewCell *)];

//获得右边的索引

-(NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView

//返回一个分区头

self.tableView.tableHeaderView= [self headerView];

//消除没有显示的横杠

self.tableView.tableFooterView= [[UITableView alloc]init];

//点击弹起  选中弹起光影恢复原状

[tableView  deselectRowAtIndexPath:indexPath  animated:YES];

上一篇下一篇

猜你喜欢

热点阅读