2010-03-07 20 views
0

我目前有一個自定義UITableViewCell,其中包含一些標籤和圖像。 「主要」標籤用於顯示人的姓名。目前,我正在用粗體文字來設計它。 我想做什麼(以獲得一些空間和可讀性),是模仿地址簿應用程序單元格樣式,即:以明文形式顯示名字,以粗體顯示系列名稱。 有沒有辦法做到這一點使用相同的UILabel?或者,我應該使用2個不同的UILabel?我應該如何佈置它們,而不知道它們的大小?如何獲得與地址簿應用程序中相同的UITableViewCell佈局?

預先感謝您的幫助!

回答

1

您可以使用內置的UITableViewCellStyleValue2。從UITableViewCell.h頭文件:

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

通過這個到您的[[UITableViewCell的頁頭] initWithStyle:...]方法。

+0

在我的情況下,使用默認的UITableViewCell樣式是不可能的(我已經使用4個UILabels和一個UIImage)。 無論如何,謝謝! – Romain

+0

您可以在佈置默認設置後添加其他標籤。 –

0

我認爲它是UITableViewCellStyleDefault樣式的表格視圖單元格。如果你想使用不同的字體屬性,那麼你需要使用不同的標籤(因爲還沒有屬性字符串)。爲了計算這些標籤的大小,你應該使用下面的方法:

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

NSString(UIStringDrawing)任何相關。

此外,您可以使用自定義字符串繪圖而不是UILabel。

+0

非常感謝,(CGSize)sizeWithFont:(UIFont *)字體的基本版本成爲了訣竅! 在不到5分鐘的時間裏,我設法得到了我想要的東西。 再次感謝:-) – Romain

相關問題