黑马程序员-IOS学习笔记-UITableView1
2015-01-08 18:05
423 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
2.UITableViewStyleGrouped 带有分组的。
1.UITableView需要一个数据源(dataSource)来显示数据,UITableView会向数据源查询一共多少行数据以及每一行显示什么数据等。没有设置数据源的UITableView只是一个空壳,凡是遵守UITableViewDataSource协议的OC对象,都可以是UITableView的数据源。
2.通常都要为UITableView设置代理对象(delegate),以便在UITableView触发一下事件时做出相应的处理,比如选中某一行。凡是遵守了UITableViewDelegate协议的OC对象。都可以是UITableView的代理对象。
3.一般会让控制器充当UITableView的dataSource和delegate
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
第section分区一共有多少行
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
创建第section分区第row行的UITableViewCell对象(indexPath包含了section和row)
@optional
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; 一共有多少个分区
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section;
第section分区的头部标题
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section;
第section分区的底部标题
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath;
某一行是否可以编辑(删除)
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath;
某一行是否可以移动来进行重新排序
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView;
UITableView右边的索引栏的内容
选中了UITableView的某一行
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
某一行的高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
第section分区头部的高度
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
第section分区尾部的高度
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
第section分区头部显示的视图
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
第section分区尾部显示的视图
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath
设置每一行的等级缩进(数字越小,等级越高)
一、UITableView
iOS中显示数据列表最常用的一个控件,支持垂直滚动。二、UITableView 的两种内置样式
1.UITableViewStylePlain 不带分组的。2.UITableViewStyleGrouped 带有分组的。
三、数据源(dataSource)和代理(delegate)
1.UITableView需要一个数据源(dataSource)来显示数据,UITableView会向数据源查询一共多少行数据以及每一行显示什么数据等。没有设置数据源的UITableView只是一个空壳,凡是遵守UITableViewDataSource协议的OC对象,都可以是UITableView的数据源。2.通常都要为UITableView设置代理对象(delegate),以便在UITableView触发一下事件时做出相应的处理,比如选中某一行。凡是遵守了UITableViewDelegate协议的OC对象。都可以是UITableView的代理对象。
3.一般会让控制器充当UITableView的dataSource和delegate
四、UITableViewDataSource协议内部的方法。
@required- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
第section分区一共有多少行
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
创建第section分区第row行的UITableViewCell对象(indexPath包含了section和row)
@optional
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; 一共有多少个分区
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section;
第section分区的头部标题
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section;
第section分区的底部标题
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath;
某一行是否可以编辑(删除)
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath;
某一行是否可以移动来进行重新排序
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView;
UITableView右边的索引栏的内容
五、UITableViewDelegate协议内部方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath选中了UITableView的某一行
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
某一行的高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
第section分区头部的高度
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
第section分区尾部的高度
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
第section分区头部显示的视图
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
第section分区尾部显示的视图
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath
设置每一行的等级缩进(数字越小,等级越高)
相关文章推荐
- 黑马程序员--IOS_学习笔记_Foundation/CoreGranphics
- 黑马程序员--IOS_学习笔记_内存管理
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之09-多态、动态类型和动态绑定——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之15-数字、字符串和集合——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之03-类、对象和方法——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之14-Foundation框架简介——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之12-预处理程序——黑马 IOS 技术博客
- 黑马程序员--IOS_学习笔记_类的本质
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之04-数据类型和表达式——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之16-使用文件——黑马 IOS 技术博客
- 黑马程序员--IOS_学习笔记_内存管理相关@porperty
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之01 引言——黑马 IOS 技术博客
- 黑马程序员--IOS_学习笔记_block和@protocol
- 黑马程序员--IOS_学习笔记_UIView\UIViewControler
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之08-继承——黑马 IOS 技术博客
- iOS学习笔记1—UITableViewCell设置
- 黑马程序员--IOS-学习笔记-UI02
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之02-Objective-C 编程环境概述——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之05-循环结构——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之13-基本的C语言特性——黑马 IOS 技术博客