簡體   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