UITableView常用属性和方法 - 永不退缩的小白菜

时间:2022-09-01 13:14:48

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常用属性和方法 - 永不退缩的小白菜的更多相关文章

  1. 12-27 UITableView常用属性及方法

    UITableView也有自己的代理协议,它本身继承自UIScrollView 一:代理要遵守代理协议<UITableViewDelegate>,代理协议中的代理方法: 1.改变某一行的行 ...

  2. UIScrollView&comma;UICollectionView 和UITableView的属性和方法

    UIScrollView,UICollectionView 和UITableView 三者之间的关系:UIScrollView是 UICollectionView 和 UITableView 的父类. ...

  3. Node&period;js process 模块常用属性和方法

    Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...

  4. ios基础篇(四)——UILabel的常用属性及方法

    UILabel的常用属性及方法:1.text //设置和读取文本内容,默认为nil label.text = @”文本信息”; //设置内容 NSLog(@”%@”, label.text); //读 ...

  5. UIView的一些常用属性和方法

    UIView的一些常用属性和方法 1. UIView的属性 UIView继承自UIResponder,拥有touches方法. - (instancetype)initWithFrame:(CGRec ...

  6. SVG DOM常用属性和方法介绍&lpar;1&rpar;

    12.2  SVG DOM常用属性和方法介绍 将以Adobe SVG Viewer提供的属性和方法为准,因为不同解析器对JavaScript以及相关的属性和方法支持的程度不同,有些方法和属性是某个解析 ...

  7. 第190天:js---String常用属性和方法(最全)

    String常用属性和方法 一.string对象构造函数 /*string对象构造函数*/ console.log('字符串即对象');//字符串即对象 //传统方式 - 背后会自动将其转换成对象 / ...

  8. UIView常用属性与方法&sol;UIKit继承结构

    UIView常用属性与方法 @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDy ...

  9. JavaScript中Number常用属性和方法

    title: JavaScript中Number常用属性和方法 toc: false date: 2018-10-13 12:31:42 Number.MAX_VALUE--1.79769313486 ...

随机推荐

  1. leetcode-【hard】4&period; Median of Two Sorted Arrays

    题目 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the ...

  2. Sharepoint学习笔记—习题系列--70-576习题解析 -&lpar;Q13-Q15&rpar;

    Question 13 You are designing a SharePoint 2010 site. You need to design the site to meet all the fo ...

  3. php正规则表达式的语法

    界定符的三种书写方式: regexpal工具(正规则表达调试工具): 可以实时显示效果出来. 原子: 可见原子,即uincode编码表中的某个字符 不可见原子: 为了避免编码问题导致匹配不正确,要把文 ...

  4. basic use of sidekiq

    参考页面 https://github.com/mperham/sidekiq https://github.com/mperham/sidekiq/wiki/Getting-Started 强烈推荐 ...

  5. 学习Linux——计算机概论

    一直想学习Linux,但计划时不时被耽误,现在开始,决定每天开始学习Linux.学习从最简单的开始,一步步,不能将最简单的东西忽略. 1.计算机硬件的五大单元 计算机分为三部分:输入单元,*处理器即 ...

  6. CentOS6&period;6图文详细安装教程&lpar;有些设置大部分教程没出现过&comma;附带网络设置等&rpar;

    作者:Sungeek 出处:http://www.cnblogs.com/Sungeek/ 欢迎转载,也请保留这段声明.谢谢! Centos6.6 下载地址:thunder://QUFodHRwOi8 ...

  7. win8 64位系统,安装JDK的步骤及其环境配置

    工具/原料 jdk-8u51-windows-x64.exe 下载地址:::http://www.cr173.com/soft/55503.html#address jdk 安装步骤 1:到oracl ...

  8. VS2012 编译程序时报无法载入PDB文件错误解决方式

    VS2012 编译程序时报无法载入PDB文件错误解决方式 "ConsoleApplication1.exe"(Win32): 已载入"C:\Users\hp\Docume ...

  9. ASP&period;NET MVC &plus; EF 利用存储过程读取大数据

    ASP.NET MVC + EF 利用存储过程读取大数据,1亿数据测试很OK 看到本文的标题,相信你会忍不住进来看看! 没错,本文要讲的就是这个重量级的东西,这个不仅仅支持单表查询,更能支持连接查询, ...

  10. centos7安装nagios步骤

    一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...