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]];
    }


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

iOS个人整理18-UITableView表视图

一、UITableView 二、UITableViewController
  • u010330109
  • u010330109
  • 2016年02月26日 11:39
  • 924

UI 第九天 UITableView

表视图UITableView,iOS中最重要的刷图 表视图通常用来管理一组具有相同数据结构的数据 UITableView继承自UIScrollView,所以它也是可以滚动的 表视图可以分区显...
  • qq_31856835
  • qq_31856835
  • 2015年11月20日 23:14
  • 199

UI基础-UITableView表视图

表视图 UITableView表视图 UITableView,iOS中最重要的视图,随处可见。 表视图通常用来管理一组具有相同数据结构的数据。 UITableView继承自UIScrollView,...
  • jt111666
  • jt111666
  • 2015年11月21日 21:39
  • 209

UI - UITableView表视图 ( 一 )

// singleView 取消 ViewController 作为根视图控制器 //1.将Main.storyboard 删除 //2.到工程设置里面找到 main int...
  • qq_16999801
  • qq_16999801
  • 2015年12月26日 11:31
  • 224

UI UITableView表视图

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view...
  • u010856537
  • u010856537
  • 2015年04月22日 19:06
  • 129

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

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

IOS学习八:UITableView表视图控件初步

表视图这个控件学习的时候,发现是目前我接触到最复杂的组件。 在Android中也提供了类似表视图的控件叫ListView。 原生的ListView,支持的操作其实很有限,数据的条目展示,点击或是长...
  • Nono_Love_Lilith
  • Nono_Love_Lilith
  • 2012年05月04日 18:03
  • 12247

swift UITableView 表视图

// //  AppDelegate.swift //  swiftTableView // //  Created by baojia on 14-6-30. //  ...
  • zhang_biao_1991
  • zhang_biao_1991
  • 2014年06月30日 18:00
  • 4063

UITableView 表视图

UITableView的属性 1. 初始化:nitWithFrame:CGRectMake(x, y, width, height) style:UITableViewStylePlain];   ...
  • AsureSara
  • AsureSara
  • 2014年07月02日 22:56
  • 376

UITableView:表视图

//UITableView:表视图 /*    UITableView 使用重用机制(滚筒原理) 通过重用tableView的cell达到节省的目的 使用一个字符串类型的ID判断是那种cell ...
  • PersonSky
  • PersonSky
  • 2015年09月16日 22:42
  • 224
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UI第九天:UITableView表视图
举报原因:
原因补充:

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