2013-04-29 88 views
0

我有一個UIView只包含一個UILabel。這個UILabel用來顯示一些可能長度不同的信息。我使用[label.text sizeWithFont:label.font constrainedToSize:label.bounds.size lineBreakMode:label.lineBreakMode]方法計算UILabel的高度。但如何根據UILabel的高度調整UIView的高度?如何根據UILablel的高度來改變UIView的高度?

回答

2
[label.superview setFrame:label.frame]; 

原則上應該這樣做。您可能需要添加更多邏輯並在其中創建一些邊距/填充。意思是您必須將self.frame分成座標,添加一些偏移量,並使用CGFrameMake創建一個新框架,然後將其分配給superviews框架。

[label.superview setFrame: CGFrameMake(0, 0, label.frame.size.width + 2*label.frame.origin.x, label.frame.size.height + 2*label.frame.origin.y)]; 

把第二個作爲一個消化。它會將原點設置爲0,因爲標籤的框架可能不爲0.然後,假設左邊距和右邊距相同,上邊距和下邊距相同,則會爲標籤周圍的某個邊距增加空間。

+0

謝謝。我用第二個。有效。 – Geek 2013-04-29 07:49:35

相關問題