2014-11-22 84 views
0

我想趕上UILabel的高度descriptionText。我可以用下面的代碼記錄它,但問題在於它不是我想要的數據。它只有1行的基本標籤的大小,文本有3行(或更多)行。我使用自動佈局,它可以工作,我可以用動態高度顯示文本,但是由於其他錯誤,我需要知道它的真實高度。獲取動態UILabel的高度

這裏是我的嘗試,讓標籤的基本高度:

- (void)viewDidLoad { 

     [super viewDidLoad]; 
     NSLog(@" description height = %f", self.descriptionText.frame.size.height); 
} 

是否有可能得到某種方式已經在屏幕上被渲染一個UILabel的真實身高是多少?

作爲一種替代方案,我可以通過計算行數來計算所需的值。

+0

你打這個電話在哪裏? – sha 2014-11-22 16:44:17

+0

@sha抱歉,我忘記了。我在viewDidLoad中使用它 – rihe 2014-11-22 16:47:21

+1

在'viewWillAppear:'中檢查標籤的大小。 – rmaddy 2014-11-22 16:49:14

回答

2

您可能已經意識到viewDidLoad不適合放置日誌。viewDidLoad在視圖加載到內存中後調用,但尚未執行佈局,因此標籤的框架反映了原始設置在故事板中的內容文件。

如果您想要在佈局完成後檢查幀,您需要覆蓋viewDidLayoutSubviews,這將在佈局完成並設置所有幀後調用。