UI第九天:UITableView表视图

原创 2015年11月21日 09:39:14
⼀、表视图
表视图 UITableView,iOS中最重要的视图,随处可⻅。
表视图通常⽤来管理⼀组具有相同数据结构的数据。

UITableView继承⾃UIScrollView,所以可以滚动
表视图的每⼀条数据都是显⽰在UITableViewCell对象中
表视图可以分区显⽰数据,每个分区称为⼀个section,每⼀⾏称为 row,编号都是从0开始

表视图的创建及显⽰数据


DataSource数据源
我们需要给tableView指定⼀个数据源,它负责给tableView提供数据
需要实现协议中两个必须实现的⽅法

UITableView中每⼀个单元格,被称为⼀个cell (UITableViewCell)。
系统预置了4种(枚举)样式的cell。
不同样式的cell包含的控件有细微差别。

⼆、UITableViewCell的重⽤机制
UITableView靠mutableSet来实现重⽤功能
出屏幕的cell会被添加到mutableSet中,进⼊屏幕的cell,先从set中 获取,如果获取不到,才创建⼀个cell。在cell显⽰之前,给cell赋上 相应的内容。
cell的reuseIdentifier是重⽤的关键。

三、表视图的相关配置⽅法
NSIndexPath

多个分区
tableView默认是⼀个分区,可以设置多个分区
tableView的plain、group样式决定分区的样式不同 每个分区可以设置区头区尾

⾃定义区头区尾


单元格⾼度及选中


总结
tableView有2种样式:plain和grouped。
由datasource提供要显⽰的数据,delegate提供辅助设置。
系统提供4中样式的cell。
tableView的重⽤机制极⼤提升了性能。
//拿到文件路径
   
NSString *path = [[NSBundle mainBundle] pathForResource:@"TableViewPlist" ofType:@"plist"];
   
self.dic = [NSDictionary dictionaryWithContentsOfFile:path];
   
// value中的字典转化为数据模型
   
   
//创建装完model的字典
   
self.dataDic = [NSMutableDictionary dictionary];
   
   
// 遍历字典 进行
   
NSArray *keys = self.dic.allKeys;
   
for (int i = 0; i < keys.count; i++) {
       
//取出每一个key
       
NSString *key = keys[i];
       
//用每一个key取出 对应的value
       
NSArray *value = [self.dic objectForKey:key];
       
       
//创建临时数组保存每一个赋值完成的model
       
NSMutableArray *temparr = [NSMutableArray array];
       
       
// 遍历每一个value
       
for (NSDictionary *oneDic in value) {
           
//model赋值
           
//创建model
           
Cellmodel *cellmode = [[Cellmodel alloc]init];
           
// 你给我一个字典 我给你一个model
            [cellmode
setValuesForKeysWithDictionary:oneDic];
           
// model装进数组中
            [temparr
addObject:cellmode];
            [cellmode
release];
           
        }
       
// 重新构建 字典 的键值对
        [
self.dataDic setObject:temparr forKey:keys[i]];
    }


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

UI 第九天 UITableView

表视图UITableView,iOS中最重要的刷图 表视图通常用来管理一组具有相同数据结构的数据 UITableView继承自UIScrollView,所以它也是可以滚动的 表视图可以分区显...

安卓第九天——UI组件

安卓第九天                         ...

UI - UITableView表视图 ( 一 )

// singleView 取消 ViewController 作为根视图控制器 //1.将Main.storyboard 删除 //2.到工程设置里面找到 main int...

UI初级之表视图UITableView自定义单元格

内容概要:  表视图之自定义单元格  一、直接在cell.contentView上添加组件来自定义cell //返回cell - (UITableViewCell *)tableView:(...

UI开发----UITableView表视图-1

//  Created By 郭仔   2015年04月22日22:12:47 // ================================== 时间都去哪了!!!!!!! // ==...

十天学会php之第九天

  • 2009-02-17 15:47
  • 897B
  • 下载

第九天:poj1011(又是深度搜索+剪枝,还是不会o(∩_∩)o )

题目意思:给出了N种邮票,每种邮票都有自己的面值(可重复)要满足购买者所需要的值m 1.所用的n种邮票可以重复选 2.张数《=4 3.尽可能使用最大面值的邮票 4.张数尽可能少 5.如果张数...

[安卓基础]学习第九天

一、为什么需要内容提供者1-1.回忆定义数据库 新建一个类继承SQLiteOpenHelper public class MyOpenHelper extends SQLiteOpenHelper {...

十天学Linux内核之第九天---向内核添加代码

十天学Linux内核之第九天---向内核添加代码 http://www.cnblogs.com/lihuidashen/p/4255826.html 先来熟悉一下文件系...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)