我目前有一個自定義UITableViewCell
,其中包含一些標籤和圖像。 「主要」標籤用於顯示人的姓名。目前,我正在用粗體文字來設計它。 我想做什麼(以獲得一些空間和可讀性),是模仿地址簿應用程序單元格樣式,即:以明文形式顯示名字,以粗體顯示系列名稱。 有沒有辦法做到這一點使用相同的UILabel
?或者,我應該使用2個不同的UILabel
?我應該如何佈置它們,而不知道它們的大小?如何獲得與地址簿應用程序中相同的UITableViewCell佈局?
預先感謝您的幫助!
我目前有一個自定義UITableViewCell
,其中包含一些標籤和圖像。 「主要」標籤用於顯示人的姓名。目前,我正在用粗體文字來設計它。 我想做什麼(以獲得一些空間和可讀性),是模仿地址簿應用程序單元格樣式,即:以明文形式顯示名字,以粗體顯示系列名稱。 有沒有辦法做到這一點使用相同的UILabel
?或者,我應該使用2個不同的UILabel
?我應該如何佈置它們,而不知道它們的大小?如何獲得與地址簿應用程序中相同的UITableViewCell佈局?
預先感謝您的幫助!
您可以使用內置的UITableViewCellStyleValue2。從UITableViewCell.h頭文件:
UITableViewCellStyleValue2, // Right aligned label on left with blue
//text and left aligned label on right (Used in Phone/Contacts)
通過這個到您的[[UITableViewCell的頁頭] initWithStyle:...]方法。
在我的情況下,使用默認的UITableViewCell樣式是不可能的(我已經使用4個UILabels和一個UIImage)。 無論如何,謝謝! – Romain
您可以在佈置默認設置後添加其他標籤。 –
我認爲它是UITableViewCellStyleDefault樣式的表格視圖單元格。如果你想使用不同的字體屬性,那麼你需要使用不同的標籤(因爲還沒有屬性字符串)。爲了計算這些標籤的大小,你應該使用下面的方法:
- (CGSize)sizeWithFont:(UIFont *)font minFontSize:(CGFloat)minFontSize actualFontSize:(CGFloat *)actualFontSize forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode;
或NSString(UIStringDrawing)
任何相關。
此外,您可以使用自定義字符串繪圖而不是UILabel。
非常感謝,(CGSize)sizeWithFont:(UIFont *)字體的基本版本成爲了訣竅! 在不到5分鐘的時間裏,我設法得到了我想要的東西。 再次感謝:-) – Romain
謝謝,這個例子的確在做我正在尋找的東西。 我會堅持sizeWithFont解決方案,因爲它也很好,但如果我有一天需要它,我會記住這個。 – Romain