本帖最后由 yuanlingqi 于 2014-11-18 22:46 编辑
- 思路:主要通过实现协议UITableViewDataSource来完成
- UITableViewDataSource协议必须实现2个方法:
- 1.- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
- 该方法主要指定一个table里的section分几行展示;
- 2.- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
- 该方法主要是控制每个section里每一行需要展示的数据、图片等等,indexPath的关键信息是section的下标以及行下标,通过这两个下标确定哪一行来显示数据;
- 另外该协议还有个可选的实现方法:
- - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;
- 这个方法可以指定将表格分成多少部分,默认是1,下面来看下代码以及运行的效果图。
- 效果图如下:
- 代码如下:
- #import "CJPViewController.h"
- #import "CJPProduct.h"
- @interface CJPViewController ()<UITableViewDataSource>
- {
- //对象数组
- NSMutableArray *dataArray;
- }
- @end
- @implementation CJPViewController
- #pragma mark 初始化方法
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- //初始化UITableView
- UITableView *tableV = [[UITableView alloc]initWithFrame:self.view.frame style:UITableViewStylePlain];
- tableV.frame = CGRectMake(0, 20, self.view.bounds.size.width, self.view.bounds.size.height);
- //1. 指定数据源提供类
- tableV.dataSource = self;
- //2. 加入视图
- [self.view addSubview:tableV];
- //3. 初始化数据
- [self dataArrayInit];
- }
- #pragma mark section头部标题
- - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
- return @"动物世界";
- }
- #pragma mark 设置section显示的行数
- - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
- return dataArray.count;
- }
- #pragma mark 设置每行的显示数据
- - (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
- UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
- CJPProduct *pro = dataArray[indexPath.row];
- //设置名称
- cell.textLabel.text = pro.title ;
- //设置描述
- cell.detailTextLabel.text = pro.desc;
- //设置图片
- cell.imageView.image = [UIImage imageNamed:pro.icon];
- //设置右边箭头
- cell.accessoryType = UITableViewCellAccessoryCheckmark;
- return cell;
- }
- #pragma mark 初始化商品数据
- - (void) dataArrayInit{
- dataArray = [NSMutableArray array];
- [dataArray addObjectsFromArray:@[
- [CJPProduct productWithObjects:@"狗熊" :@"狗熊来了" :@"001.png"],
- [CJPProduct productWithObjects:@"狗熊" :@"狗熊来了" :@"001.png"],
- [CJPProduct productWithObjects:@"狗熊" :@"狗熊来了" :@"001.png"],
- [CJPProduct productWithObjects:@"狗熊" :@"狗熊来了" :@"001.png"],
- [CJPProduct productWithObjects:@"狗熊" :@"狗熊来了" :@"001.png"],
- [CJPProduct productWithObjects:@"狗熊" :@"狗熊来了" :@"002.png"],
- [CJPProduct productWithObjects:@"狗熊" :@"狗熊来了" :@"003.png"],
- [CJPProduct productWithObjects:@"狗熊" :@"狗熊来了" :@"004.png"],
- [CJPProduct productWithObjects:@"狗熊" :@"狗熊来了" :@"005.png"],
- [CJPProduct productWithObjects:@"狗熊" :@"狗熊来了" :@"006.png"],
- [CJPProduct productWithObjects:@"狗熊" :@"狗熊来了" :@"007.png"],
- [CJPProduct productWithObjects:@"天猫" :@"天猫来了" :@"008.png"]]];
- }
- @end
复制代码
|
-
1.jpg
(47.2 KB, 下载次数: 24)
|