当前位置: 首页 > 面试题库 >

UITextView中字符串的粗体部分

令狐声
2023-03-14
问题内容

这是文本:

@IBOutlet weak var legalText: UITextView!
let textToAppend = "TERMS OF SERVICE\nLast Updated: May 7, 2015\n\nPLEASE NOTE: The HIGO Terms of Service as stated below is effective as of the 'Last Updated' date above for any user who is browsing the HIGO website, or for any user who creates a HIGO account on or after that date."
legalText.text = legalText.text.stringByAppendingString(textToAppend)

我想用粗体显示“服务条款”和“请注意:下文所述的HIGO服务条款自以上’最后更新’日期起对正在浏览HIGO网站的任何用户或创建了HIGO网站的任何用户生效。
HIGO帐户在该日期或之后。”

我尝试在uitextview中以编程方式使用uilabel,但无法正常工作:

var termsofservice : UILabel = UILabel()
termsofservice.numberOfLines = 0
termsofservice.text = "TERMS OF SERVICE"
termsofservice.font = UIFont.boldSystemFontOfSize(20)
termsofservice.textAlignment = NSTextAlignment.Left;

var pleasenote : UILabel = UILabel()
pleasenote.numberOfLines = 0
pleasenote.text = "PLEASE NOTE: The HIGO Terms of Service as stated below is effective as of the 'Last Updated' date above for any user who is browsing the HIGO website, or for any user who creates a HIGO account on or after that date."
pleasenote.font = UIFont.boldSystemFontOfSize(20)
pleasenote.textAlignment = NSTextAlignment.Left;

let textToAppend = "\(termsofservice)\nLast Updated: May 7, 2015\n\n\(pleasenote)"

也尝试使用这些,但不起作用,它仅显示“服务条款”和“最新更新..”,没有显示“请注意…”。

var termsofservice = "TERMS OF SERVICE"
var normalText = "\n\nLast Updated: May 7, 2015"
var pleasenote  = "\n\nPLEASE NOTE: The HIGO Terms of Service as stated below is effective as of the 'Last Updated' date above for any user who is browsing the HIGO website, or for any user who creates a HIGO account on or after that date."

var attributedString = NSMutableAttributedString(string:normalText)

var attrs = [NSFontAttributeName : UIFont.boldSystemFontOfSize(15)]
var boldString = NSMutableAttributedString(string:pleasenote, attributes:attrs)
var boldString0 = NSMutableAttributedString(string:termsofservice, attributes:attrs)

boldString0.appendAttributedString(attributedString)
attributedString.appendAttributedString(boldString)
legalText.attributedText = boldString0

如何加粗字符串的那一部分?

注意:文本仍然很长,并且字符串的更多部分变为粗体。


问题答案:

为Swift 3更新

func attributedText() -> NSAttributedString {

    let string = "TERMS OF SERVICE\nLast Updated: May 7, 2015\n\nPLEASE NOTE: The HIGO Terms of Service as stated below is effective as of the 'Last Updated' date above for any user who is browsing the HIGO website, or for any user who creates a HIGO account on or after that date." as NSString

    let attributedString = NSMutableAttributedString(string: string as String, attributes: [NSFontAttributeName:UIFont.systemFont(ofSize: 15.0)])

    let boldFontAttribute = [NSFontAttributeName: UIFont.boldSystemFont(ofSize: 15.0)]

    // Part of string to be bold
    attributedString.addAttributes(boldFontAttribute, range: string.range(of: "TERMS OF SERVICE"))
    attributedString.addAttributes(boldFontAttribute, range: string.range(of: "PLEASE NOTE:"))

    // 4
    return attributedString
}

并将attributext文本设置为以下文本视图:

legalText.attributedText = attributedText()


 类似资料:
  • 问题内容: 我在strings.xml的字符串之一中有一个长文本。我要加粗并更改该文本中某些单词的颜色。 我该怎么做? 问题答案: 您基本上可以在字符串资源中使用html标签,例如: 并使用Html.fromHtml或使用spannable,请检查我发布的链接。

  • 我有一个Javascript代码,可以将整个字符串变为粗体,但是,我想修改代码,只将“:”前面的字符串部分特别加粗 我目前拥有的代码是: 以这种方式应用fontWeight目前不起作用-请提供建议。 完整的字符串是“Vifa:鹅卵石灰奥斯陆扬声器”-我希望“Vifa”用粗体。

  • 问题内容: 为什么以下代码不起作用?它可以在Toast中工作,但不能在TextView中工作。当我运行程序时,boldName不会显示为粗体,但是当我将其设置为Toast时,它会显示为粗体。有人还有其他解决方案吗? 问题答案: 老实说,我不确定为什么TextViews完全按照它们的方式工作,您可以在执行操作时将其全部设置为粗体,但前提是它们的整个TextView都为粗体,但是如果其中一部分是粗体的

  • 为什么下面的代码不起作用?它适用于Toast,但不适用于TextView。当我运行程序时,boldName不会显示为粗体,但当我将其设置为祝酒词时,它确实显示为粗体。有人有其他解决办法吗?

  • 问题内容: 在其中,可以使轴标签的文本为粗体 您也可以在正确的后端使用LaTeX 但是,当您将它们合并时,数学文本不再是粗体 以下LaTeX命令似乎也没有任何作用 如何在轴标签上加粗? 问题答案: 不幸的是,您不能使用加粗字体来加粗符号,请在tex.stackexchange上查看此问题。 如答案所示,您可以使用粗体phi: 您需要加载到TeX序言中:

  • 问题内容: 如何使用CSS选择器加粗句子的第一个单词,就浏览器的可比性而言,这是一种好/坏方法吗? 码: 谢谢 问题答案: CSS中没有伪元素。您必须将第一个单词包装在一个额外的元素中,然后选择该元素。