美文网首页iOS常见功能demo
UITableview的常用方法

UITableview的常用方法

作者: 未来可期me | 来源:发表于2016-01-20 20:27 被阅读84次

    我们可以看到,在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

    {

    }


    相关文章

      网友评论

        本文标题:UITableview的常用方法

        本文链接:https://www.haomeiwen.com/subject/bnjlkttx.html