我有一個UITableViewCell,我想向右側添加視圖(除附件視圖外)。我試圖將textLabel的大小設置爲幾個像素較窄,但它只是調整大小。調整大小UITableViewCell textLabel
有什麼方法可以調整textLabel的大小嗎?
我有一個UITableViewCell,我想向右側添加視圖(除附件視圖外)。我試圖將textLabel的大小設置爲幾個像素較窄,但它只是調整大小。調整大小UITableViewCell textLabel
有什麼方法可以調整textLabel的大小嗎?
無法調整UITableViewCellStyleDefault類型的UITableViewCell實例中默認textLabel屬性所引用的對象的大小,至少不是我的經驗。在這些情況下,最好的辦法是在代碼中創建自己的UITableViewCell的子類,如果需要的話也可以使用Interface Builder創建自己的子類,併爲其提供所需的佈局。
- (void)layoutSubviews {
[super layoutSubviews]; //The default implementation of the layoutSubviews
CGRect textLabelFrame = self.textLabel.frame;
textLabelFrame.size.width = _textLabelMaxWidth;
self.textLabel.frame = textLabelFrame;
}
希望它能幫助:
其實,如果你創建的UITableViewCell子類,並重寫layoutSubviews方法就可以調整。
我注意到textLabel調整大小以適應accessoryView。所以如果你想讓標籤使用整個單元格,你可以將accessoryView設置爲零(我認爲這是默認行爲)。或者,例如,如果您希望標籤僅佔用單元格的左半部分,請使accessoryView成爲橫跨單元右半部分的空UIView。 (不一定是空的,你可以把東西放在那裏......我的觀點是它會縮小文本標籤。)
你可以用這種最簡單的方法來調整UITableView Cell的大小。首先,看看我的示例項目。
它會告訴你如何可以將其內部組件中最簡單的方式創建約束調整的UITableView細胞羣。
tblTest.estimatedRowHeight = 100 // This is where you can set your estimated row height
tblTest.rowHeight = UITableViewAutomaticDimension
應該
爲了讓你明白,我設置的UILabel裏面的UIView,看看我是怎麼在其父UIView上創建約束。
如果您仍然需要任何幫助,只需詢問。
祝你好運
這隻適用於我單元格重新加載,任何想法? – 2013-03-16 22:09:24
@AdamCarter是的,這是如何工作的,除非你想在不同的時間和不同的事件中改變它。 – 2013-03-26 10:22:23
這對我來說非常有用。我確實有一個UITableViewCell的子類,標籤大小將繼續返回到故事板默認值。我很欣賞這個建議! – mikeho 2014-05-17 02:52:39