UITableView常用属性和方法 - 永不退缩的小白菜
UITableView常用属性和方法 - 永不退缩的小白菜
1、初始化一个UITableView
1 - (id)initWithFrame:(CGRect)frame style:(UITableViewStyle)style
1 struct CGRect {
2 CGPoint origin;
3 CGSize size;
4 };
5 typedef struct CGRect CGRect;
1 typedef enum {
2 UITableViewStylePlain, //平铺样式
3 UITableViewStyleGrouped //分组样式
4 } UITableViewStyle;
2、配置一个TableView
1)返回这个TableView的样式(只读属性)
1 @property(nonatomic, readonly) UITableViewStyle style
2)返回指定section内的Cell的行数
1 - (NSInteger)numberOfRowsInSection:(NSInteger)section
当TableView在UITableViewStylePlain下section应该为0
3)返回TableView的section数量
1 - (NSInteger)numberOfSections
4)设置TableView中所有cell的高度
1 @property(nonatomic) CGFloat rowHeight
Apple建议我们使用代理方法tableView:heightForRowAtIndexPath:代替rowHeight方法使TableView的性能更高
5)设置TableView的分隔线的样式
1 @property(nonatomic) UITableViewCellSeparatorStyle separatorStyle
1 typedef enum : NSInteger {
2 UITableViewCellSeparatorStyleNone, //无分隔线
3 UITableViewCellSeparatorStyleSingleLine, //单分割线
4 UITableViewCellSeparatorStyleSingleLineEtched //被侵蚀的但分隔线
5 } UITableViewCellSeparatorStyle;
6)设置TableView的分隔线颜色
1 @property(nonatomic, retain) UIColor *separatorColor
7)设置TableView的背景视图
1 @property(nonatomic, readwrite, retain) UIView *backgroundView
8)设置TableView的分隔线偏移量
1 @property (nonatomic) UIEdgeInsets separatorInset
2 //Available in iOS 7.0 and later.
Apple的例子
1 tableView.separatorInset = UIEdgeInsetsMake(0, 3, 0, 11);
2 //上、左、下、右
3、创建TableView的Cell
1)注册一个包含指定标示符TableView的Cell的nib对象
1 - (void)registerNib:(UINib *)nib forCellReuseIdentifier:(NSString *)identifier //两个参数不能是nil
2 //Available in iOS 5.0 and later.
2)注册一个类用来创建新的Cell
1 - (void)registerClass:(Class)cellClass forCellReuseIdentifier:(NSString *)identifier
2 //Available in iOS 6.0 and later.
3)使用指定的标示符返回可重用的Cell
1 - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath
2 //Available in iOS 6.0 and later.
Apple重要提示:使用这个方法之前必须是使用了registerNib:forCellReuseIdentifier: 或者 registerClass:forCellReuseIdentifier:方法注册了Cell
4)使用指定的标示符返回可重用的Cell
1 - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier
4、访问表头和表尾的视图
1)注册一个包含表头或表尾的指定标示符表视图的nib对象
1 - (void)registerNib:(UINib *)nib forHeaderFooterViewReuseIdentifier:(NSString *)identifier
2 //Available in iOS 6.0 and later.
2)注册一个类,用来创建新的包含表头或表尾的表视图
1 - (void)registerClass:(Class)aClass forHeaderFooterViewReuseIdentifier:(NSString *)identifier
2 //Available in iOS 6.0 and later.
3)返回一个指定标识符的可重用的附带表头表尾的视图
1 - (id)dequeueReusableHeaderFooterViewWithIdentifier:(NSString *)identifier
2 //Available in iOS 6.0 and later.
4)设置或返回该表格的表头视图
1 @property(nonatomic, retain) UIView *tableHeaderView
5)设置或返回该表格的表尾视图
1 @property(nonatomic, retain) UIView *tableFooterView
6)设置或返回该表格的表头高度
1 @property(nonatomic) CGFloat sectionHeaderHeight
7)设置或返回该表格的表尾高度
1 @property(nonatomic) CGFloat sectionFooterHeight
8)返回指定section的表头视图
1 - (UITableViewHeaderFooterView *)headerViewForSection:(NSInteger)section
2 //Available in iOS 6.0 and later.
9)返回指定section的表尾视图
1 - (UITableViewHeaderFooterView *)footerViewForSection:(NSInteger)section
2 //Available in iOS 6.0 and later.
5、访问Cell和Section
1)返回指定indexPath的Cell
1 - (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath
2)返回指定Cell的IndexPath
1 - (NSIndexPath *)indexPathForCell:(UITableViewCell *)cell
3)返回指定点的IndexPath
1 - (NSIndexPath *)indexPathForRowAtPoint:(CGPoint)point
4)返回指定区域内的IndexPath组成的数组
1 - (NSArray *)indexPathsForRowsInRect:(CGRect)rect
5)返回可见的UITableViewCell组成的数组
1 - (NSArray *)visibleCells
6)返回可见表格行的IndexPath组成的数组
1 - (NSArray *)indexPathsForVisibleRows
6、估算元素的高度
1)设置表格行的估算高度以改善性能
1 @property (nonatomic) CGFloat estimatedRowHeight
2 //The default value is 0, which means there is no estimate.
3 //Available in iOS 7.0 and later.
2)设置Section头的估算高度以改善性能
1 @property(nonatomic) CGFloat estimatedSectionHeaderHeight
2 //The default value is 0, which means there is no estimate.
3 //Available in iOS 7.0 and later.
3)设置Section尾的古都按高度以改善性能
1 @property(nonatomic) CGFloat estimatedSectionFooterHeight
2 //The default value is 0, which means there is no estimate.
3 //Available in iOS 7.0 and later.
7、滚动TableView
1)滚动到指定的位置
1 - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated
1 typedef enum {
2 UITableViewScrollPositionNone,
3 UITableViewScrollPositionTop,
4 UITableViewScrollPositionMiddle,
5 UITableViewScrollPositionBottom
6 } UITableViewScrollPosition;
To be Continue...
UITableView常用属性和方法 - 永不退缩的小白菜的更多相关文章
- 12-27 UITableView常用属性及方法
UITableView也有自己的代理协议,它本身继承自UIScrollView 一:代理要遵守代理协议<UITableViewDelegate>,代理协议中的代理方法: 1.改变某一行的行 ...
- UIScrollView,UICollectionView 和UITableView的属性和方法
UIScrollView,UICollectionView 和UITableView 三者之间的关系:UIScrollView是 UICollectionView 和 UITableView 的父类. ...
- Node.js process 模块常用属性和方法
Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...
- ios基础篇(四)——UILabel的常用属性及方法
UILabel的常用属性及方法:1.text //设置和读取文本内容,默认为nil label.text = @”文本信息”; //设置内容 NSLog(@”%@”, label.text); //读 ...
- UIView的一些常用属性和方法
UIView的一些常用属性和方法 1. UIView的属性 UIView继承自UIResponder,拥有touches方法. - (instancetype)initWithFrame:(CGRec ...
- SVG DOM常用属性和方法介绍(1)
12.2 SVG DOM常用属性和方法介绍 将以Adobe SVG Viewer提供的属性和方法为准,因为不同解析器对JavaScript以及相关的属性和方法支持的程度不同,有些方法和属性是某个解析 ...
- 第190天:js---String常用属性和方法(最全)
String常用属性和方法 一.string对象构造函数 /*string对象构造函数*/ console.log('字符串即对象');//字符串即对象 //传统方式 - 背后会自动将其转换成对象 / ...
- UIView常用属性与方法/UIKit继承结构
UIView常用属性与方法 @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDy ...
- JavaScript中Number常用属性和方法
title: JavaScript中Number常用属性和方法 toc: false date: 2018-10-13 12:31:42 Number.MAX_VALUE--1.79769313486 ...
随机推荐
- MCS-51单片机存储器结构
MCS-51的存储器可分为四类: 程序存储器 一个微处理器能够聪明地执行某种任务,除了它们强大的硬件外,还需要它们运行的软件,其实微处理器并不聪明,它们只是完全按照人们预先编写的程序而执行之.那么设 ...
- SignalR Troubleshooting
This document contains the following sections. Calling methods between the client and server silentl ...
- java并发5-volatile关键字解析
http://www.cnblogs.com/dolphin0520/p/3920373.html 一.内存模型的相关概念 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程 ...
- 2013第38周日Java文件上传下载收集思考
2013第38周日Java文件上传&下载收集思考 感觉文件上传及下载操作很常用,之前简单搜集过一些东西,没有及时学习总结,现在基本没啥印象了,今天就再次学习下,记录下自己目前知识背景下对该类问 ...
- (转)实战p12文件转pem文件
需要实现这个功能的一般都是app开发证书不支持通配符(即com.xxx.xxx.xxx格式),在业务需求上类似消息推送这样的业务. 1.首先生成一个ssl的证书 选择app IDS 后实现下面这个(这 ...
- 企业版IDP的申请及“In House”发布
企业版IDP,即iOS Development Enterprise Program.注意是$299/Year那种,并不是$99/Year的那种. 这种方式的IDP其最大的好处在于:可以发布“In H ...
- Nginx的10万并发内核参数优化
关于内核参数的优化: net.ipv4.tcp_max_tw_buckets = 6000timewait的数量,默认是180000.net.ipv4.ip_local_port_range = 10 ...
- CentOS下配置SMTP
在服务器上配置一个SMTP邮件服务可能是在日常工作中经常会遇到的需要,比如在做一些简单测试的时候. 配置步骤无比简单,废话不说: 1,yum -y install mail 2,编辑/etc/mail ...
- Char Tools,方便的字符编码转换小工具
工作关系,常有字符编码转换方面的需要,写了这个小工具 Char Tools是一款方便的字符编码转换小工具,基于.Net Framework 2.0 Winform开发 主要功能 URL编码:URLEn ...
- 关于为什么RAID5往往掉一个盘后第二个盘也立刻挂掉的原因分析
很多人遇到过服务器RAID5挂掉,往往掉一个盘后,第二个盘也立刻挂掉. 大家都知道RAID5 一次允许一个盘缺失, RAID 5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位 ...