iOS常见功能demo

UITableview的常用方法

2016-01-20  本文已影响84人  未来可期me

我们可以看到,在iOS开发中,最常用的视图之一就是UITableview,如果可以把这个视图玩6了,其实好多的界面设计通过该视图就可以完成,下面是我总结一下,该视图常用的代理方法


1.第一步

该视图所在的控制器要遵守这两个协议 <UITableViewDataSource , UITableViewDelegate>

2.第二步

声明该变量

@property (nonatomic , strong)UITableView *addressTableView;

3.第三步

实例化,该视图对象,并进行设置


#pragma mark UITableviewDatasource

//获取该视图的组数

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{

}

//获取每组有多少行数据 row-行

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

{

}

//索引表内容-(NSArray*)sectionIndexTitlesForTableView:(UITableView *)tableView

{//这儿返回的是你索引里的数据组合

}

//索引表与组之间的关联

-(NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index

{

//告诉我们一个段名和该段的序号

//我们需要返回一个对于索引表数组内容的序号

NSInteger sectionCount= x;x是个未知数,代表第几组

for (NSString *aAlpha in _sectionNameArray) {//_sectionNameArray代表数据对应的真实索引组合

if ([aAlpha isEqualToString:title]) {//title代表此刻右边索引,你所点击的那一个

return sectionCount;

}

sectionCount++;

}

return sectionCount;//返回你点击的那个索引在几组数据中对应的组头,对应的那个组数

}

//为cell赋值
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

//这个方法为cell赋值,大概样子如下

static NSString *CellIdentifier = @"userCell";

NTAdressBookCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (!cell){

cell = [[NTAdressBookCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

}

cell.nameLab.text = oneUser.nickname;

cell.JobLab.text = oneUser.jobTitle;

cell.departLab.text = oneUser.department;

return cell;


}

//下面是选中某个cell执行的方法
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

}

//设置每个cell的高度,这个其实我们可以精确到某个组的某个row

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

{

}

//这个方法,我们可以为该视图的每个组设置一个标题,主要是,通讯录的a-z,缺点,不能自定义位置,大小

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

{

}


//因为以上方法的短板,我们可以用自定义组头视图

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

{

}

//有自定义组头视图,就有自定义组尾视图

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

//组头高度

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

{

}

//组尾高度

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

{

}


上一篇下一篇

猜你喜欢

热点阅读