如何获得与地址簿应用程序中相同的UITableViewCell布局?

时间:2010-03-07 22:37:02

标签: iphone objective-c iphone-sdk-3.0 uitableview

我目前有一个自定义UITableViewCell,其中包含一些标签和图片。 “主”标签用于显示人名。目前,我用粗体文字设计它。 我想做的(获得一些空间和可读性)是模仿地址簿应用程序单元格样式,即:浅色文本中的名字和粗体文本中的姓氏。 有没有办法使用相同的UILabel来做到这一点?或者,我应该使用2个不同的UILabel?如何在不知道尺寸的情况下布置它们?

预先感谢您的协助!

3 个答案:

答案 0 :(得分:1)

您可以使用内置的UITableViewCellStyleValue2。从UITableViewCell.h头文件:

UITableViewCellStyleValue2,     // Right aligned label on left with blue 
                //text and left aligned label on right (Used in Phone/Contacts)

将此传递到[[UITableViewCell alloc] initWithStyle:...]方法中。

答案 1 :(得分:1)

请参阅atebits的示例代码:

http://atebits.cachefly.net/blog/FastScrolling/FastScrolling.zip

它做了类似于你想要的事情。

答案 2 :(得分:0)

我认为它是具有UITableViewCellStyleDefault样式的表视图单元格。如果您想使用不同的字体属性,则需要使用不同的标签(因为还没有属性字符串)。要计算这些标签的大小,您应该使用以下方法:

- (CGSize)sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode;

或来自NSString(UIStringDrawing)的任何相关内容。

此外,您可以使用自定义字符串绘图而不是UILabel。