2011-01-31 30 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)];