SwiftUI 多行文本背景颜色

Posted

技术标签:

【中文标题】SwiftUI 多行文本背景颜色【英文标题】:SwiftUI Multiline Text Background Color 【发布时间】:2019-12-27 23:29:07 【问题描述】:

我在 SwiftUI 中有一个文本视图,其中包含多行。我知道我可以使用

更改文本的背景颜色
Text("<long text>").background(Color.red)

但是,如果我的文本是多行的,则背景颜色将用于 Text 视图的整个框架,而不仅仅是存在实际文本的部分。像这样:

我只希望实际文本具有背景颜色。这可能吗?

【问题讨论】:

看来 SwiftUI 还不支持。不过,您可以使用 attributedStringUILabel 创建 UIViewRepresentable。或使用AttributedText from SwiftUIX。 遗憾的是 SwiftUI 本身还不支持这个......如果你写这个作为答案,我会接受它。 【参考方案1】:

似乎 SwiftUI 还不支持该功能(Xcode 11.3)。不过,您可以使用 attributedStringUILabel 创建 UIViewRepresentable。或使用AttributedText from SwiftUIX。

【讨论】:

以上是关于SwiftUI 多行文本背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

斯威夫特 iOS。多行 UILabel 背景颜色跟随文本

SwiftUI Textfield - 如何在编辑模式下设置文本字段的背景颜色以清除

SwiftUI - 如何模糊视图的默认背景颜色?

Swiftui 将列表叠加到背景颜色

SwiftUI:如何使列表视图透明?如何更改列表视图背景颜色?

SwiftUI 列表颜色背景