【问题标题】:Calculating / Faking Line Height Changes in UILabel在 UILabel 中计算/伪造行高变化
【发布时间】:2014-09-09 23:18:35
【问题描述】:

我发现在 UILabel 中修改行高是不可能的。真可惜。另外 - 似乎我选择使用的自定义字体在与 UILable 一起使用时不使用它们自己的默认行高。

那么 - 有没有人想出一个替代方案?计算单行并为每行创建新的 UILabel 是唯一的解决方案吗?

这是关于在 UILabel 中使用的动态文本,没有添加手动换行符,顺便说一句,自动换行。

【问题讨论】:

  • 如果你想对文本渲染有更多的控制权,你可能想研究一下 Core Text(虽然一开始看起来有点吓人)。

标签: ios uilabel


【解决方案1】:

我最近编写了一个类,它使用 CoreText 来绘制具有自定义行高的文本。它几乎像 UILabel 一样工作。随意使用它https://github.com/Tuszy/MTLabel

【讨论】:

  • 我在使用你的课程时发生了奇怪的事情——特别是过早的换行符。关于发生了什么的任何线索?
【解决方案2】:

作为使用 UILabel 的替代方法,您可能需要考虑使用不可编辑的 UITextField 作为伪标签。

【讨论】:

    【解决方案3】:

    如果您正在为 iOS >= 6.0 开发,您可以使用它

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-11
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多