带有空格的动态UI标签+动态线宽

时间:2018-01-21 04:24:10

标签: ios swift textview uilabel labels

目前,我有。 Current UI Label

但是,我希望它之间有空格,所以背景显示和背景颜色,每行有一个动态宽度,类似于

Desired Label Look

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

cell.label.backgroundColor = UIColor.white
        return cell

那么,我怎样才能让文本在图片中获得空格,背景显示通过,每行的宽度基于图片中的文字?

1 个答案:

答案 0 :(得分:1)

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

这是一个让你前进的例子:

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来获得分离的线条效果。

这导致:

enter image description here