【问题标题】:Create UILabel with differently styled text in iOS 5.1, without using storyboards在 iOS 5.1 中创建具有不同样式文本的 UILabel,而不使用情节提要
【发布时间】:2013-03-04 16:47:41
【问题描述】:

我想创建一个带有简单格式的单行 UILabel,如下所示:

别管下划线 - 这是 Photoshop 的东西。

我基本上有两部分文本,左边的一个有一个字体系列、大小和颜色,另一个有另一个。 一个接一个地添加 2 个标签会使事情变得非常麻烦和复杂。有什么想法可以将它组合成一个简单的UILabel?提前致谢!

编辑:我不使用 Storyboard 或 XIB,我正在为 iOS 5.1 及更高版本构建

【问题讨论】:

  • @AnoopVaidya 你能解释为什么它是重复的吗?我正在寻找一个 iOS6 之前的解决方案,我想找到解决这个问题的新方法,你提到我的问题对我没有答案。
  • ios6 前或 ios6 后
  • @AnoopVaidya 可以在 iOS6 之前运行,显然,在 iOS6 之前。

标签: iphone ios objective-c cocoa-touch uilabel


【解决方案1】:

如果你想运行 iOS 5.0 及更高版本,可以使用 mattt 的精彩 TTTAttributedLabel

【讨论】:

    【解决方案2】:

    我在运行于 iOS 5+ 的应用中使用了以下两个。

    【讨论】:

      【解决方案3】:

      您可以使用自动布局将两个UILabels 相互对齐,也可以使用iOS6 中提供的attributedText 属性

      【讨论】:

      • 我同意。属性文本似乎是您正在寻找的。您甚至可以在 Interface Builder 中设置样式,只需将 Text 属性从 Plain 设置为 Attributed。
      • 显然这是不可能的,因为我不使用 Stroyboards 或 IB。我也不能使用 iOS 6
      • 不使用情节提要或IB,为什么要在代码中设置attributedText
      • @DanF 可能是因为它在 iOS 5 中不可用,对吧?
      【解决方案4】:

      您可以使用attributedText 属性来处理此问题。

      NSMutableAttributedString* string = [NSMutableAttributedString attributesStringWithString:@"OneThing (AnotherThing)"];

      //设置整个字符串的字体

      [string setAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"Helvetice-Neue"]}];

      //这里为“OneThing”写另一种字体

      [string setAttributes:@{NSFontAttributeName:[UIFont fontWithName:@"Helvetice-Neue"]} range:NSMakeRange(0, 7)];

      myLabel.attributedText = 字符串;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-09-30
        • 2012-05-19
        • 2016-11-18
        • 1970-01-01
        • 2014-11-08
        • 2013-06-11
        • 2015-03-13
        相关资源
        最近更新 更多