【发布时间】:2014-10-28 05:34:37
【问题描述】:
我有一个标签,其中的文本应该是粗体并具有其他字体大小。有没有可能像换行符(“Hello \n World!”)一样用命令来做,还是我必须为此制作另一个标签?
谢谢!
【问题讨论】:
我有一个标签,其中的文本应该是粗体并具有其他字体大小。有没有可能像换行符(“Hello \n World!”)一样用命令来做,还是我必须为此制作另一个标签?
谢谢!
【问题讨论】:
查看NSAttributedString 的 API——它允许您创建一个字符串,该字符串指定应使用特定文本样式和/或字体设置样式的部分字符串。通过设置标签的attributedText 属性而不是通常的text 属性,可以使用生成的对象而不是带有UILabel(和其他UI 元素)的纯字符串。
要使“粗体”一词仅显示为 18 点粗体,请尝试以下操作:
var label = UILabel()
let bigBoldFont = UIFont.boldSystemFontOfSize(18.0)
var attrString = NSMutableAttributedString(string: "This text is bold.")
attrString.addAttribute(kCTFontAttributeName, value: bigBoldFont, range: NSMakeRange(13, 4))
label.attributedText = attrString
指定的范围决定了应应用命名属性(在本例中为字体)的字符串部分。并注意 NSMakeRange 的参数是起始字符位置和范围的长度。
【讨论】: