iOS- 为文本的一部分添加荧光笔效果

问题描述 投票:0回答:1

我想为UILabel完成类似的操作:enter image description here

笔画基本上使用荧光笔代表了该文本部分的随意突出显示。

[我曾考虑过使用resizableImageWithCapInsets,然后将其用作文本背景,但不适用于突出显示顶部和底部边缘的突出显示工件。

我的问题归结为:

  1. 我可以为UILabel中的一部分文本设置背景图像吗?
  2. 我应该获得哪种图像格式,以便能够根据需要突出显示的文本的长度来动态调整其大小?

我几乎可以通过使用SVG积分在Android上实现它,但是我找不到在iOS上实现它的方法。

ios swift iphone uikit uilabel
1个回答
0
投票

借助属性字符串,您可以实现此目的。

样本代码

    let s = "this is Highlight text" as NSString
    var att = NSMutableAttributedString(string: s as String)
    let r = s.range(of: "Highlight", options: .regularExpression, range: NSMakeRange(0,s.length))
    if r.length > 0 {
        att.addAttribute(NSAttributedString.Key.backgroundColor, value: UIColor.red, range: r)
    }

    someLabel.attributedText = att
© www.soinside.com 2019 - 2024. All rights reserved.