2011-01-31 31 views
3

我發現無法修改UILabel中的線高度。遊民。另外 - 似乎我選擇使用的自定義字體在與UILable一起使用時不使用它們自己的默認行高。在UILabel中計算/僞造線高度變化

所以 - 有人想出了一個替代方案?計算每條生產線併爲每條生產線創建新的UILabel是唯一的解決方案嗎?

這是關於在UILabel中使用的動態文本,沒有添加手動換行符,並在btw上換行。

+1

你可能要考慮核心文本,如果你想擁有超過文本渲染更多的控制權(雖然它起初看起來有點嚇人)。 – 2011-02-01 00:42:17

回答

8

我最近寫了一個類,它使用CoreText來繪製帶有自定義行高的文本。它幾乎像UILabel一樣工作。隨意使用它https://github.com/Tuszy/MTLabel

+0

當我使用你的班級時,我發生了奇怪的事情 - 特別是早期的線路故障。關於發生了什麼的任何線索? – achi 2013-07-10 17:09:08

3

作爲使用UILabel的替代方法,您可能需要考慮將不可編輯的UITextField用作僞標籤。

+0

然後shadowOffset和shadowColor不起作用。 – horseshoe7 2011-07-27 16:56:41

-1

你可以使用這個,如果你正在爲iOS開發> = 6.0

NSInteger strLength = [myString length]; 
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init]; 
[style setLineSpacing:24]; 
[attString addAttribute:NSParagraphStyleAttributeName 
        value:style 
        range:NSMakeRange(0, strLength)];