2013-03-14 106 views
1

我正在製作一個簡單的故事板原型。我的TableViewController使用動態原型作爲內容。UILabel不包裝(如果我更改默認字體大小)

我有一個單元有4個標籤,其中兩個將在代碼(標籤文本)中設置。單元格的高度也將用代碼計算。換行設置爲自動換行和一切都工作正常使用默認值(系統17.0)

在這裏看到:

enter image description here

..但如果我改變字體「夢幻街......」標籤的尺寸不會再有任何突破,它只會被切斷!

在這裏看到:與系統字體16

enter image description here

行被設置爲0 自動換行仍然活躍

。我也試圖做手工的代碼,但沒有更改。

有沒有人有解釋?

****編輯:**當我添加 myLabel.frame = CGRectMake(t.origin.x,t.origin.y,t.size.width,t.size.height * 2);

to cellForRowAtIndexPath我仍然看到切斷標籤。但是如果我隨後滾動表格視圖,使標籤在可見區域外很快就會顯示出來,並且當它再次可見時將顯示整個文本。

順便說一下,我正在使用viewTags,所以我沒有專用的Cell類,例如UILabel * myLabel =(UILabel *)[cell viewWithTag:2];

+0

可以請你嘗試增加UILabel的高度? – 2013-03-14 17:52:26

+0

你的意思是UILabel的框架?我已經嘗試過了。我覺得這很奇怪。 – jeven 2013-03-14 20:14:14

+1

它可能是自動佈局阻礙了嗎?如果您的單元格設置在故事板中,則當事情發生變化時,自動佈局調用會攪亂您的視圖。 – Jbryson 2013-03-14 21:04:56

回答

0

我花了幾個小時處理這個相同的問題,然後才終於在昨晚整理出來。更改字體大小後,您必須選擇故事板中的UILabel,然後選擇Edit > Size以適應內容,即使您之前已經這樣做!在這樣做的時候,你顯然會重置一些在更改字體大小時會弄亂的設置。一旦完成,UILabel將像之前一樣包裝。

0

你應該檢查UILabel寬度;寬度應該小於值的寬度。然後像這樣:

(void) viewWillLayoutSubviews { 
    _landPhoneTips.preferredMaxLayoutWidth = _landPhoneTips.bounds.size.width; 
} 
+1

感謝您爲Stack Overflow做出貢獻!我建議將來使用內置的帖子預覽,以確保您的答案易於閱讀。 – 2014-12-11 03:29:08