2016-10-11 43 views
0

我試圖顯示Label的一些非常長的文本,它位於Scroll View之內,但它沒有顯示出來。如果文字高度太大,標籤不會顯示

當我把更小的字體大小的文字顯示出來。

爲什麼會發生這種情況,以及如何解決它?

是因爲有多行?一些其他的文本肯定有200多行,它們正常顯示,但是這些文本甚至比它們更長。

使用print(text.characters.count)我得到15884該文本。

+0

我有點困惑你的問題。爲什麼你不能在文本中使用更小的字體大小或者使標籤大到足以包含更大的文本? – Flickerlight

+0

由於該字體太小,您幾乎無法閱讀文本。 「標籤」在「滾動視圖」內,因此高度不應該成爲問題。 – user3051755

+0

嘗試yourText.sizeToFit()這應該給你一個動態的文字高度。希望這個幫助.... – Joe

回答

2

的無限數量從Apple Document Of UIView

在iOS中2.x,一個UIView對象的最大尺寸是1024 x 1024點。在iOS 3.0及更高版本中,視圖不再受限於此最大大小,但仍受其消耗的內存量的限制。保持視圖尺寸儘可能小是符合您的最佳利益。無論哪個版本的iOS正在運行,您都應該考慮平鋪任何比屏幕尺寸大得多的內容。

由於是的UILabel UIView的一個子類,它似乎與長度15884文本太長,當字體大了的UILabel處理。

我認爲你可以做一些實驗來找到可接受的字體大小。但是,我會建議使用UITextView這樣的長文本而不是UILabel。

0

如果你不知道該字符串的UILabel的長度,你可以用下面的方法來計算的UILabel的大小:

  • (的CGRect)boundingRectWithSize:(CGSize)大小選項:(NSStringDrawingOptions)選項屬性:(可空的NSDictionary *)屬性上下文:(可爲空的NSStringDrawingContext *)上下文NS_AVAILABLE(10_11,7_0);
0

如果存在多行,嘗試通過代碼或在界面生成器設置屬性numberOfLines = 0,這應該允許其顯示的行

+0

我已經設置了屬性'numberOfLines = 0'。其他文本正常顯示,我只有這個問題比其他文本長。 – user3051755