【问题标题】:How to format different characters in a UILabel's string differently?如何以不同方式格式化 UILabel 字符串中的不同字符?
【发布时间】:2011-02-16 21:02:49
【问题描述】:

我有一个带有动态字符串作为文本属性的 UILabel。如果我总是希望第一个单词带有下划线,我是否需要分隔标签然后尝试正确排列它们?或者我可以继承 UILabel 让它这样做吗?

【问题讨论】:

    标签: iphone ios nsstring format uilabel


    【解决方案1】:

    使用 UIWebView 并将文本呈现为 HTML。

    【讨论】:

    • 是的,只需在 uitextview 的文档中阅读即可。虽然从未使用过 html。
    • 有没有办法剪裁 uilabel 的框架,使其只需要显示的字符串那么大?
    • 为了您的目的,这很简单:只需将第一个单词用<u></u> 括起来,因此在您的代码中,您可以将“你妈妈缝制有气味的袜子”更改为“你的妈妈缝制有气味的袜子”,然后将 HTML 文本设置为您的 UIWebViewtext 属性(不过,它可能会使用 text 以外的其他属性)。
    • @marty:这个链接有一些用于在任何地方绘制文本的代码:groups.google.com/group/iphonesdkdevelopment/browse_thread/… 你可能最好坚持使用单个 UIView 并在其上绘制不同类型的文本 - 比尝试更容易布置多个视图。
    【解决方案2】:

    我最终使用textRectForBounds:limitedToNumberOfLines: 来找到单词的动态起点(减去一些x 坐标像素),然后用stringByReplacingCharactersInRange:withString: 去掉uilabel 的第一个字母,然后用原标签的首字母,只是字体不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-21
      • 1970-01-01
      • 2019-04-27
      • 2018-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多