1、初始化一个UITableView

 - (id)initWithFrame:(CGRect)frame style:(UITableViewStyle)style
 struct CGRect {
CGPoint origin;
CGSize size;
};
typedef struct CGRect CGRect;
 typedef enum {
UITableViewStylePlain, //平铺样式
UITableViewStyleGrouped //分组样式
} UITableViewStyle;

2、配置一个TableView

1)返回这个TableView的样式(只读属性)

 @property(nonatomic, readonly) UITableViewStyle style

2)返回指定section内的Cell的行数

 - (NSInteger)numberOfRowsInSection:(NSInteger)section

当TableView在UITableViewStylePlain下section应该为0

3)返回TableView的section数量

 - (NSInteger)numberOfSections

4)设置TableView中所有cell的高度

 @property(nonatomic) CGFloat rowHeight

Apple建议我们使用代理方法tableView:heightForRowAtIndexPath:代替rowHeight方法使TableView的性能更高

5)设置TableView的分隔线的样式

 @property(nonatomic) UITableViewCellSeparatorStyle separatorStyle
 typedef enum : NSInteger {
UITableViewCellSeparatorStyleNone, //无分隔线
UITableViewCellSeparatorStyleSingleLine, //单分割线
UITableViewCellSeparatorStyleSingleLineEtched //被侵蚀的但分隔线
} UITableViewCellSeparatorStyle;

6)设置TableView的分隔线颜色

 @property(nonatomic, retain) UIColor *separatorColor

7)设置TableView的背景视图

 @property(nonatomic, readwrite, retain) UIView *backgroundView

8)设置TableView的分隔线偏移量

 @property (nonatomic) UIEdgeInsets separatorInset
//Available in iOS 7.0 and later.

Apple的例子

 tableView.separatorInset = UIEdgeInsetsMake(, , , );
//上、左、下、右

3、创建TableView的Cell

1)注册一个包含指定标示符TableView的Cell的nib对象

 - (void)registerNib:(UINib *)nib forCellReuseIdentifier:(NSString *)identifier //两个参数不能是nil
//Available in iOS 5.0 and later.

2)注册一个类用来创建新的Cell

 - (void)registerClass:(Class)cellClass forCellReuseIdentifier:(NSString *)identifier
//Available in iOS 6.0 and later.

3)使用指定的标示符返回可重用的Cell

 - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath
//Available in iOS 6.0 and later.

Apple重要提示:使用这个方法之前必须是使用了registerNib:forCellReuseIdentifier: 或者registerClass:forCellReuseIdentifier:方法注册了Cell

4)使用指定的标示符返回可重用的Cell

 - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier

4、访问表头和表尾的视图

1)注册一个包含表头或表尾的指定标示符表视图的nib对象

 - (void)registerNib:(UINib *)nib forHeaderFooterViewReuseIdentifier:(NSString *)identifier
//Available in iOS 6.0 and later.

2)注册一个类,用来创建新的包含表头或表尾的表视图

 - (void)registerClass:(Class)aClass forHeaderFooterViewReuseIdentifier:(NSString *)identifier
//Available in iOS 6.0 and later.

3)返回一个指定标识符的可重用的附带表头表尾的视图

 - (id)dequeueReusableHeaderFooterViewWithIdentifier:(NSString *)identifier
//Available in iOS 6.0 and later.

4)设置或返回该表格的表头视图

 @property(nonatomic, retain) UIView *tableHeaderView

5)设置或返回该表格的表尾视图

 @property(nonatomic, retain) UIView *tableFooterView

6)设置或返回该表格的表头高度

 @property(nonatomic) CGFloat sectionHeaderHeight

7)设置或返回该表格的表尾高度

 @property(nonatomic) CGFloat sectionFooterHeight

8)返回指定section的表头视图

 - (UITableViewHeaderFooterView *)headerViewForSection:(NSInteger)section
//Available in iOS 6.0 and later.

9)返回指定section的表尾视图

 - (UITableViewHeaderFooterView *)footerViewForSection:(NSInteger)section
//Available in iOS 6.0 and later.

5、访问Cell和Section

1)返回指定indexPath的Cell

 - (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath

2)返回指定Cell的IndexPath

 - (NSIndexPath *)indexPathForCell:(UITableViewCell *)cell

3)返回指定点的IndexPath

 - (NSIndexPath *)indexPathForRowAtPoint:(CGPoint)point

4)返回指定区域内的IndexPath组成的数组

 - (NSArray *)indexPathsForRowsInRect:(CGRect)rect

5)返回可见的UITableViewCell组成的数组

 - (NSArray *)visibleCells

6)返回可见表格行的IndexPath组成的数组

 - (NSArray *)indexPathsForVisibleRows

6、估算元素的高度

1)设置表格行的估算高度以改善性能

 @property (nonatomic) CGFloat estimatedRowHeight
//The default value is 0, which means there is no estimate.
//Available in iOS 7.0 and later.

2)设置Section头的估算高度以改善性能

 @property(nonatomic) CGFloat estimatedSectionHeaderHeight
//The default value is 0, which means there is no estimate.
//Available in iOS 7.0 and later.

3)设置Section尾的古都按高度以改善性能

 @property(nonatomic) CGFloat estimatedSectionFooterHeight
//The default value is 0, which means there is no estimate.
//Available in iOS 7.0 and later.

 7、滚动TableView

1)滚动到指定的位置

 - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated
 typedef enum {
UITableViewScrollPositionNone,
UITableViewScrollPositionTop,
UITableViewScrollPositionMiddle,
UITableViewScrollPositionBottom
} UITableViewScrollPosition;

To be Continue...

UITableView属性和方法的更多相关文章

  1. [OC][转]UITableView属性及方法大全

    Tip: UITableView属性及方法大全  (摘录地址) p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 14.0px; font: 1 ...

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

    UITableView常用属性和方法 - 永不退缩的小白菜 时间 2014-05-27 01:21:00  博客园精华区原文  http://www.cnblogs.com/zhaofucheng11 ...

  3. UIKit的外观属性及方法汇总

    本文授权转载,作者:楚天舒(简书) 开发中经常会碰到要设置UI的某个生僻的外观属性,虽然在头文件中都能查到,但一是每个控件的头文件比较分散繁杂,二是每个头文件里有太多不用到的方法和属性,所以这里将UI ...

  4. iOS开发UITableView基本使用方法总结1

    UITableView基本使用方法 1.首先,Controller需要实现两个delegate ,分别是UITableViewDelegate 和UITableViewDataSource 2.然后 ...

  5. UITableView类用法大全:UITableView属性

    [storyboard创建tableView步骤] 1.设置根视图 2.选中视图,设置导航栏editor/embed in/navigationcontroller 3.cell设置Identifie ...

  6. iOS开发UITableView基本使用方法总结

    本文为大家呈现了iOS开发中UITableView基本使用方法总结.首先,Controller需要实现两个delegate ,分别是UITableViewDelegate 和UITableViewDa ...

  7. iOS开发UITableView基本使用方法总结 分类: ios技术 2015-04-03 17:51 68人阅读 评论(0) 收藏

    本文为大家呈现了iOS开发中UITableView基本使用方法总结.首先,Controller需要实现两个delegate ,分别是UITableViewDelegate 和UITableViewDa ...

  8. iOS中UIKit的外观属性及方法汇总

    这里将UIKit的外观属性及方法从头文件中抽取出来,以便查找及熟悉.(更新到iOS 8.0,从A-Z排序) UIActivityIndicatorView @property (readwrite,  ...

  9. UITableView 基本使用方法总结

    1..首先,Controller需要实现两个  delegate ,分别是  UITableViewDelegate 和  UITableViewDataSource2.然后 UITableView对 ...

随机推荐

  1. caffe绘制训练过程的loss和accuracy曲线

    转自:http://blog.csdn.net/u013078356/article/details/51154847 在caffe的训练过程中,大家难免想图形化自己的训练数据,以便更好的展示结果.如 ...

  2. PHP-FPM的STATUS显示配置

    希望能在优化PHP-FPM方面作一个改进.. 参考URL: http://www.ttlsa.com/php/use-php-fpm-status-page-detail/ http://www.li ...

  3. bat命令大全

    一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置.   语法 echo [{on│off}] [message ...

  4. BAT线下战争:巨额投资或培养出自己最大对手(包括美团、58、饿了么在内的公司都在计划推出自己的支付工具和金融产品,腾讯只做2不做O)

    BAT线下战争:巨额投资或培养出自己最大对手 2015年10月12日09:49   <财经>杂志    我有话说(18人参与) 收藏本文        BAT大举投资线下公司,看似咄咄逼人 ...

  5. .net 开发必备小抄(电子书)

    http://www.syncfusion.com/resources/techportal/ebooks/accountinghttp://www.syncfusion.com/resources/ ...

  6. Linux企业级项目实践之网络爬虫(22)——编写爬虫系统服务控制脚本

    需求:1.可通过 service spider start|stop|status|restart 命令对服务进行控制2.spider服务可开机自启动 start() { echo "sta ...

  7. Android Spinner使用简介

    Android中使用Spinner作为下拉列表,下面直接看实现方式: (1)使用ArrayAdapter来实现: 实现步骤: 1. 在布局文件中定义Spinner组件: 2. 向Spinner添加需要 ...

  8. NOI 2013 矩阵游戏

    http://uoj.ac/problem/124 矩阵乘法. 十进制快速幂. 刚开始还傻傻地写二进制快速幂,然后陈老师一语点醒梦中人...... #include<cstdio> #in ...

  9. 使用sublime text2怎样新建文件高速生成HTML头部信息?

    前提须要安装Emmet插件.安装完毕后重新启动sublime. 输入下面简写,按Tab. html:4t <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML ...

  10. Linux是如何启动的

    今天早上在上操作系统课的时候,老师有提到计算机从按下开关键到最后由操作系统全然接管的整个过程. 只是讲课毕竟是十分抽象的,由于之前自己也看过这方面的内容,可是老是记不住,所以今天晚上就花了点时间,把& ...