ios学习笔记之-UITableView的分组显示

UITableView在开发中用处非常广泛,汽车之家的品牌选择就是这个控件,还有我们iPhone设置页面的那些选项也是这个。所以这个控件一定要很好的掌握,并熟练的使用。UITableView继承自UIScrollView也就是说他是可以滚动的,他有两个模式一个是分组展示 一个是不分组,目前我看来基本上分组展示用的多,所以就介绍分组展示的用法。

UITableView需要数据源(dataSource)来显示数据
UITableView会向数据源查询总共多少组 每组多少行 每行数据有什么内容等等

凡是遵守UITableViewDataSource协议的OC对象,都可以是UITableView的数据源 


1.首先创建工程

2.h文件

#import <UIKit/UIKit.h>


@interface ViewController : UIViewController

@property(nonatomic,retain) UITableView*tableView;


@end

3.m 文件

//

//  ViewController.m

//  UITableView展示多组数据

//

//  Created by LiuJunHong on 17/3/2.

//  Copyright © 2017 liujunhong. All rights reserved.

//


#import "ViewController.h"


@interface ViewController ()<UITableViewDataSource>


@end


@implementation ViewController

@synthesize tableView=_tableView;

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    self.tableView = [[UITableView alloc]initWithFrame:self.view.frame style:UITableViewStyleGrouped];

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

    [self.view addSubview:self.tableView];

    

}

//返回显示多少组

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{


    return 3;

}

//每一组有多少条数据

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

    if (section==0) {

        return 3;

    }else if(section==1){

        return 2;

    }else{

    

        return 1;

    }

}

//每组的每行显示什么

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

 UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil

                          ];

    if (indexPath.section==0) {

        //第一组

        if (indexPath.row==0) {

        //第一行

            cell.textLabel.text=@"林平之";

        }else if(indexPath.row==1){

        cell.textLabel.text=@"东方不败";

        }

            

        else{

            cell.textLabel.text=@"岳不群";

        

        }

    }else if (indexPath.section==1) {

        //2

        if (indexPath.row==0) {

            //第一行

            cell.textLabel.text=@"张飞";

        }

        

        else{

            cell.textLabel.text=@"关羽";

            

        }

    }else{

    cell.textLabel.text=@"孙悟空";

        

        

    }


return cell;


}

//设置每一组的组标题

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


    if(section==0){

    return @"笑傲江湖";

    }else if(section==1){

    return @"三国演义";

    }else{

        return @"西游记";

    }

}

//设置每一组的组尾(简介)

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


    if(section==0){

        return @"这个电视剧的令狐冲是李亚鹏";

    }else if(section==1){

        return @"这个电视剧的关羽是二爷";

    }else{

        return @"这个电视剧的白骨精为什么不吃了傻逼唐僧";

    }

}

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}



@end



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值