本节学习内容:
1.UItableView协议基础
2.UITablView协议的功能
3.UITableView协议的使用
UITableView协议
heightForRowAtIndexPath:获得单元格高度协议
heightForHeaderInSecion:数据视图头部高度协议
heightForFooterInSection:数据视图尾部高度协义
titleForFooterInSection:数据视图尾部的标题协议
titleForGeaderInSection:数据视图头部标题协议
【ViewController.h】
#import<UIKit/UIKit.h>
@interface ViewController:UIViewController<
//数据代理协义
UITableViewDataSource,
//普通代理协义
UITableViewDElegate
>
{
//定义数据视图对象
UITableView* _tableView;
//声明一个数据源
NSMutableArray* _arrayData;
}
【ViewController.m】
#import"ViewController.h"
@interface viewController()
@end
@implementation ViewController
-(void)viewDidLoad{
[super viewDidLoad];
//创建数据视图对象
_tableView=[[UITableView alloc]initWithFrame:CGRectMake(0,40,320,536)style:UITableViewStyleGrouped];
//设置代理对象
_tableView.delegate=self;
//设置数据代理对象
_tableView.dataSource=self;
//数据视图
[self.view addSubview:_tableView]
//创建一个可变数组
_arrayData=[[NSMutableArray alloc]init];
for(int i='A';i<='Z';i++){
//定义小数组
NSMutableArray* arraySmall=[[NSMutableArray alloc]init];
for(int j=1;j<=5;j++){
NSString*str=[NSString stringWithFormat:@"%c%d",i,j];
[arraySmall addObject:str];
}
//生成一个二维数组
[_arrayData addObject:arraySmall];
}
//获取组数
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return _arrayData.count;
}
//获取每组的元素个数
-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSIngeger)section{
NSInteger numRow=[[_arrData objectAtIndex:section]coun];
return numRow;
}
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
NSString* str=@"cell";
UITableViewCell* cell=[_tableview dequeueReusableCellWithIdentifier:str];
if(cell==nil){
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentiter:str];
}
cell.textLable.text=_arrayData[indexPath.section][indexPath.row];
return cell;
}
}
//获取高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 100;
}
//获取每组头部标题
-(NSString*)tableView:(UITableView*)tableview titleForHeaderInSection:(NSInteger)section{
return @"头部标题"
}
//获取每组尾部标题
-(NSString*)tableView:(UITableView*)tableview titleForFooterInSection:(NSInteger)section{
return @"尾部标题"
}
//获取头部高度
-(CGFloat)tableView:(UITableView *)tableView heightForGeaderInSection:(NSInteger)section{
return 40;
}
//获取尾部高度
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
return 60;
}
网友评论