繁体   English   中英

带有行间距+动态线宽的Swift UI标签

[英]Swift UI Label with space between lines + dynamic line width

目前,我有。 当前UI标签

但是,我希望行之间有间隔,以便显示背景,并且背景色的每行都具有动态宽度,类似于

所需标签外观

我尝试将标签转换为文本视图,并使用自定义类。 这没有得到理想的结果。 创建新的单元格时,它将使用以下代码。

cell.label.backgroundColor = UIColor.white
        return cell

因此,如何获得文本以使图片之间的行之间具有空格,而背景却要透彻显示出来,而每行的宽度则以图片中的文本为基础?

您确定已上传想要的图像吗? 所需的标签外观没有像您所描述的那样跟随文本的背景色。

这是使您前进的示例:

let string = "Hello\n\nIs it me you're\n\nlooking for"
var attributedString = NSMutableAttributedString(string:string)

string.enumerateLines { (line, stuff) in
    guard let range = string.range(of: line) else { return }
    let nsRange = NSRange(range, in: line)
    attributedString.addAttribute(.backgroundColor,
                                  value: UIColor.red,
                                  range: nsRange)
}

在这里,我将字符串的每一行分别设为红色,以获得您所描述的效果。

我使用双换行符来实现分隔,因为我认为不可能仅使用单个NSAttributedString获得分隔线效果。

结果是:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM