##DAY10 UITableView基础

UITableView继承于UIScrollView,可以滚动。

UITableView的每?条数据对应的单元格叫做Cell,是UITableViewCell的?个对象,继承于UIView。

UITableView可以分区显?,每?个分区称为section, 每??称为row, 编号都从0开始。

系统提供了?个专门的类来整合section和row,叫做NSIndexPath。

#pragma mark ———————UITableView基本属性——————————

创建:

initWithFrame:style:

style的两种类型:

UITableViewStylePlain

UITableViewStyleGrouped

UITableView的属性:

rowHeight 设置行高,只能设置全部行高相同的情况

separatorColor 设置分割线的颜色

separatorStyle 设置分割线的风格

tableHeaderView 设置表格头部控件

tableFooterView 设置尾部控件

dataSource 显示数据相关的代理

delegate 视图操作相关的代理

#pragma mark --------UITableViewDataSource----------

tableView:numberOfRowsInSection: 每一组的行数,可以用switch(section)对不同的组进行判断

tableView:cellForRowAtIndexPath: 设置每一行显示怎样的内容(cell),每当有一个cell进入视野范围内,就会调用

numberOfSectionsInTableView:设置组数,不写实现,默认是一组

tableView:titleForHeaderInSection:第section组显示怎样的头部标题,概括这一组是干什么用的

tableView:titleForFooterInSection:第section组显示怎样的尾部标题,详细描述这一组是干什么用的

注意:TA有固定的字体样式。如果你想要不同的东西,使用自定义视图(UILabel)

tableView:canEditRowAtIndexPath: 允许被编辑的行,如果没有实现,所有行被认为是可编辑的。tableView:canMoveRowAtIndexPath: 允许重新排序,默认情况下全部可以

sectionIndexTitlesForTableView: 右侧边栏的索引(e.g. "ABCD...Z#")

tableView:sectionForSectionIndexTitle:atIndex: 设置一个组所对应的标题或索引 (e.g. "B",1)

tableView:commitEditingStyle:forRowAtIndexPath:提交编辑的具体实现

tableView:moveRowAtIndexPath:toIndexPath: 移动行的具体实现

#pragma mark --------UITableViewDelegate----------

点击单元格后触发的方法,跳转、传值都在这个方法中完成

tableView:didSelectRowAtIndexPath:

可变高度

tableView:heightForRowAtIndexPath:

tableView:heightForHeaderInSection:

tableView:heightForFooterInSection:

设置每一组的头视图和尾视图,注意高度,和内存管理autorelease

tableView:viewForHeaderInSection:

tableView:viewForFooterInSection:

其他方法见头文件和API

#pragma mark --------UITableViewCell----------

UITableViewCell的属性:

imageView 图片视图

textLabel 设置cell显示的文字

detailTextLabel 副标题视图

accessoryType 设置右边指示器的类型,下面这个枚举是个 >

accessoryView 自定义附属视图

backgroundView 设置未选中时的背景(背景的view,用init创建,不设置frame)

backgroundColor backgroundView的优先级高于backgroundColor,且前者可设置被选中的状态,后者不可

selectedBackgroundView 设置被选中时的背景

selectionStyle 选中的行的显示风格

cell的创建方法:

initWithStyle:reuseIdentifier:

#pragma mark --------UITableViewCell的重用机制----------

cell的创建方法:

initWithStyle:reuseIdentifier:

tableView的方法:

表视图通过重用标识去重用池中查找是否有能够被重用的cell

dequeueReusableCellWithIdentifier: (forIndexPath:)注意后半截在XIB时用

#pragma mark ------读取数据------

//读取数据

- (void)handleData{

//获取到plist文件在包中的路径

NSString *filePlath = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"plist"];

//从路径中得到一个数组

NSArray *arr = [NSArray arrayWithContentsOfFile:filePlath];

//初始化模型数组

_modelArr = [[NSMutableArray alloc] initWithCapacity:0];

for (NSDictionary *dic in arr) {

Student *stu = [[Student alloc] init];

[stu setValuesForKeysWithDictionary:dic];

[_modelArr addObject:stu];

[stu release];

}

}

#pragma mark ——————————————建立模型——————————————

异常处理:

1、当使用KVC为模型赋值时,如果模型内部,没有声明相对应字典中的属性时,赋值直接跳过此字段,执行下一字段的赋值

2、如果字典中的关键字是系统保留字,那么在声明属性时会出现与字典关键字不对应,在此方法中就可以完成判断,对应赋值

- (void)setValue:(id)value forUndefinedKey:(NSString *)key{

//内部什么都不做,异常处理,解决赋值个数不匹配的问题

}

时间: 2024-10-27 18:45:22

##DAY10 UITableView基础的相关文章

iOS UI基础-9.0 UITableView基础

在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView.UITableView继承自UIScrollView,因此支持垂直滚动,而且性能极佳. UITableView有两种样式: 一列显示:UITableViewStylePlain 分组显示:UITableViewStyleGrouped tableView展示数据的过程 1.调用数据源的下面方法得知一共有多少组数据 - (NSInteger)numberOfSectionsInTableView:(UITableView

UITableView基础入门

新建一个Single View Application 添加一个空类如下: using System; using UIKit; using Foundation; namespace BasicTable { public class TableSource : UITableViewSource { string[] TableItems; string cellIdentifier="TableCell"; public TableSource (string[] items)

UITableView基础

1.初始化数组的时候要注意,用遍历构造器的话可能会有内存问题 2.创建一个tableView 3.创建完tableView之后可以为他设置一些属性,如: 4.设置完属性之后,要是你想要添加数据的话,要接受UITableViewDataSource协议,这个协议有两个必须要实现的方法 要是想要改变UITable的外观的话,需要接受UITableViewDelegate协议 下面是一些的常用方法 读取数据的代码如下:(一定要记得开辟空间.调用这个方法) 返回每一cell的内容的方法内部: 当从一个界

DAY-10 Linux基础及shell脚本

一.nfs服务 1.NFS 是Network File System的缩写,即网络文件系统.用于Linux系统之间的共享存储,NFS在文件传送或信息传送过程中依赖于RPC协议,RPC的思想:一个客户端一个服务端,执行命令本来是在客户端,远程调用就是把命令发送到服务端,服务端执行后,将结果发回给客户 2.安装软件包:yum install rpcbind nfs-utils –y 3.修改配置文件:先做文件系统(新增一块硬盘),挂载一个目录,通过nfs共享这个目录里的内容 vim /etc/exp

【精】表格(UITableView)总结(1):介绍与基础实现

转载请声明出处:http://blog.csdn.net/jinnchang/article/details/45028267 1.表视图(UITableView) UITableView 继承自 UIScrollView.一个表视图可以由多个分段(section)组成,每个分段可以有一个头和尾.很多情况下表视图只有一个分段,而且不显示头尾.表视图本身也可以有一个头(显示在第一个分段之前)和一个尾(显示在最后一个分段之后).一个表视图的整体元素结构示意图如下: (1)表视图风格 UITableV

黑马IOS 第2期基础+就业班(完整)

├─01天-ScrollView│  └─视频│          01.UIKit复习&代理介绍.mp4│          02.查看大图&自动布局.mp4│          03.ScrollView常用属性.mp4│          04.喜马拉雅.mp4│          05.放大和缩小.mp4│          06.运行循环简单演示.mp4│          07.倒计时界面布局.mp4│          08.NSTimer简单应用.mp4│         

Objective-C UI之UITableView详解

UITableView在IOS开发中占据非常重要的位置,必须熟练掌握. 学习UITableView之前,先了解一下一些基本概念: UITableView继承于UIScrollView,是可以进行垂直滚动的控件 UITableView的每一条数据对应的单元格叫做Cell,是UITableViewCell的一个对象,继承于UIView UITableView可以分区显示,每一个分区称为section,每一行称为row,编号都从0开始 系统提供了一个类来整合section和row,叫做NSIndexP

java web 开发三剑客 -------电子书

Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知Internet的目的是让各个net交互.所以,Internet实质上是将世界上各个国家.各个网络运营商的多个网络相互连接构成的一个全球范围内的统一网,使各个网络之间能够相互到达.各个国家和运营商构建网络采用的底层技术和实现可能各不相同,但只要采用统一的上层协议(TCP/IP)就可以通过Internet

iOS基础——通过案例学知识之UITableView(上)

iOS基础--通过案例学知识之UITableView(上) 对于UITableView的知识点特别多,因为它是iOS用得最多控件之一,我会尽我最大努力和语言的组织,将所有知识点介绍到位,今天要实现的效果图 吐槽 与Android对比,可以说跟ListView的实现几乎一样,跟RecyclerView一模一样 Android写起来似乎比iOS复杂一点,因为iOS大部分都被封装好了,这一点iOS做得好 对于iOS的方法的命名只能说又长又臭 知识点包括 UITableView的UITableViewD