表格将每个记录都引用为一个单元格对象。对于一个表格单元格,不应仅仅将其看作文字,而应将一个单元格看作一个微小的画布。UITableViewCell类提供了对表格单元进行剪裁的功能,可以得到定制的外观。单元格可以包含图像、文字、标签以及其他种种风格的内容。如你所见,表格将单元格放在表格的队列中,所以你只需要在首次使用时创建单元格,或者是在单元格曾经被从内存中删除的情况下对其再次进行创建。
每个单元格都在创建时被赋予了一个复用标识(reuse identifier)。这个标识被用来在表格的队列中唯一标记该单元格。在前面的例子中,你将单元格编号集成到了这个标识中,不过你也可以随意为其设置任何唯一值:
- NSString *CellIdentifier = [ [ NSString alloc ]
- initWithString:@'Frank' ];
- UITableViewCell *cell = [ [ [ UITableViewCell alloc ]
- initWithFrame: CGRectZero
- reuseIdentifier: CellIdentifier
- ] autorelease
- ];
创建好表格单元之后,你就可以赋予其许多不同的风格选项。
显示文字
通过单元格的text属性,可以在其中添加文字:
- cell.text = @'Frank's Table Cell';
文字对齐
通过设置textAlignment属性,可以调整单元格的文字对齐。在使用文本视图时,你曾经使用过类似的属性:
- cell.textAlignment = UITextAlignmentLeft;
默认的文字对齐方式是左对齐的,但是你可以使用下面列出的任何一个值。这些值与你前面学过的、用于UITextView类的那些相同:
- UITextAlignmentLeft
文字靠左对齐(默认)
- UITextAlignmentRight
文字靠右对齐
- UITextAlignmentCenter
文字居中
字体与字号
通过将一个UIFont对象赋给文本视图的font属性,可以设置单元格显示文字的字体和磅值。这个功能与设置UITextView对象字体的方式相同。要创建一个UIFont对象,需要引入UI Kit框架的UIFont.h头文件:
- #import <UIKit/UIFont.h>
你可以用一个名为fontWithName的静态方法,轻松地创建新的字体实例:
- UIFont *myFont = [ UIFont fontWithName: @'Arial' size: 18.0 ];
- cell.font = myFont;
此外,还有其他三个易用的静态方法,可以创建系统字体:
- UIFont *mySystemFont = [ UIFont systemFontOfSize: 12.0 ];
- UIFont *myBoldSystemFont = [ UIFont boldSystemFontOfSize: 12.0 ];
- UIFont *myItalicSystemFont = [ UIFont italicSystemFontOfSize: 12.0 ];
对字体的选择,决定了在单元格内部的所有文字的显示字体,但也仅在该单元格内。表格单元无法直接支持富格式文本。
文字的颜色
你可以通过将一个UIColor对象赋给单元格的textColor属性,来定义单元格中文字的颜色。要创建UIColor对象,需要引入UI Kit的UIColor.h头文件:
- #import <UIKit/UIColor.h>
你可以用静态方法来创建色彩对象,这样创建的对象在不需要时会自动释放。色彩可以用多种方法来创建,比如利用色调定义成灰度,或者定义成RGB复合量。在这一章中前面的部分,你已经学过关于色彩的知识。
当你创建好UIColor对象之后,就可以将其赋给单元格的textColor属性:
- cell.textColor = [ UIColor redColor ];
你也可以用selectedTextColor属性,设置高亮(选中)单元格中的文字颜色:
- cell.selectedTextColor = [ UIColor blueColor ];
由于单元格不能直接支持富格式文本,所以对色彩的选择会影响单元格中的所有文字。