定制表视图单元

方法一:通过创建UITableViewCell子类

第一步 创建UITableViewCell子类


.h文件内容:

继承UITableViewCell,并且声明NSString类型的属性,在此例子中声明name和color

定制表视图单元_第1张图片
.h文件内容

.m文件内容:

定义name和color的set函数,然后重写initWithStyle: reuseIdentifier方法,用来定义单元的4个label,用CGRectMake确定位置,然后设置文本及字体等细节。

Note:值得注意的是,记得用addSubview方法把Label放到当前View中

定制表视图单元_第2张图片
.m文件内容一


定制表视图单元_第3张图片
.m文件内容二

第二步  在viewController里初始化


viewController.h文件内容:

声明实现UITableViewDataSource协议

定制表视图单元_第4张图片
viewController.h文件内容

viewController.m文件内容:

import NameAndColorCell头文件

用存储字典的数组computers(NSArray类型)来初始定义样例数据,把tableView绑定到IBOutlet实例

重写tableView: numberOfRowsSection:方法告诉该tableView有多少个cell

重写tableView:cellForRowAtIndexPath: 方法,获得computers数组的其中一个字典,用键取出其中的相应字符串,依次初始化具体一个cell


NOTE: 值得注意的是,需要在viewDidLoad方法中调用 [self.tableView registerClass:forCellReuseIdentifier:]方法,否则无法获取表单元对象!

定制表视图单元_第5张图片
viewController.m文件内容


大功告成啦!其实很简单呢


方法二:使用nib文件


第一步:创建user interface空文件,在得到的nib文件中拖拽出tableViewCell,然后根据需要放置控件,然后添加约束完成autolayout


定制表视图单元_第6张图片
nib文件具体样式

然后打开属性检查器,将identifier栏选择为CellTableIdentifier(此例子中的可重用标识符为CellTableIdentifier,忘了的可在viewController中看到)


第二步:将原NameAndColorCell.h中的两个UIlabel改成IBOutlet 


定制表视图单元_第7张图片
NameAndColorCell.h
第三步:回到NameAndColorCell.m文件,把上面方法一中定义的initwithStyle:reuseIdentifier:方法注释掉,已经不需要啦,因为初始化过程在nib文件完成了。

定制表视图单元_第8张图片


第四步:在ViewController.m文件,将上面方法一中的配置注册机语句注释掉,换成registerNib:forCellReuseIdentifier:方法

定制表视图单元_第9张图片
ViewController.m

你可能感兴趣的:(定制表视图单元)