2011-12-05 71 views
6

我正在嘗試使用XCode 4.2和Interface Builder爲iOS 5構建一個三行UILabel。放置UILabel後,我將行數設置爲3(這個問題也發生在設置爲0的行數上),並且我使用了option-Return來正確地在text屬性中分行。這一切都可以在Interface Builder的故事板預覽中正確顯示。問題是,當我在模擬器中構建和運行應用程序時,換行符被完全忽略,並且文本只是在需要的任何地方包裝在UILabel的視圖中,就好像文本中沒有換行符一樣。UILabel中的換行符在構建時被忽略

明顯的快速解決方案是在代碼中設置UILabel的文本,或者製作三個UILabel。那裏沒問題。我只是因爲純粹在IB中設置標籤時發生這種情況而感到煩惱。任何人都遇到同樣的問題?

+0

如果您複製並粘貼文本到IB的標籤,會發生什麼?即將其寫入TextEdit.app或其他內容中,然後複製它。 – mattjgalloway

+0

不幸的是,同樣的事情。 – Chris

+0

這很奇怪,因爲我做了完全相同的事情,它適用於我,雖然我還沒有嘗試故事板,只是普通的XIB。你說如果你在代碼中設置它工作正常? – mattjgalloway

回答

9

這或許應該被開闢爲一個錯誤,但是這裏有一個解決方法:

代替期權回報,使用控制返回並擊中兩次(離開文本行之間的空行中的故事板)。它會在故事板和設備上正確顯示。

+0

謝謝!有效。 – Will

+0

[請嘗試此鏈接](http://stackoverflow.com/a/21654430/3577656) – Rajal

2

通過使用標籤的這種特性,

label.lineBreakMode=UILineBreakModeCharacterWrap; 
label.numberOfLines=0; 

我們可以給出添加整個段落,單個標籤例子見截屏。

enter image description here

+1

請考慮在此處添加對代碼的簡短說明。代碼本身並不清楚。 – Amir

+0

這是一個簡短的解釋,在一個標籤(藍色)我只給了一段來理解斷路器。 –