相关疑难解决方法(0)

如何在 SwiftUI 文本中显示 HTML 或 Markdown?

如何设置 SwiftUIText以显示呈现的 HTML 或 Markdown?

像这样的东西:

Text(HtmlRenderedString(fromString: "<b>Hi!</b>"))
Run Code Online (Sandbox Code Playgroud)

或对于 MD:

Text(MarkdownRenderedString(fromString: "**Bold**"))
Run Code Online (Sandbox Code Playgroud)

也许我需要一个不同的视图?

html markdown text swift swiftui

18
推荐指数
9
解决办法
1万
查看次数

如何在没有固定宽度的情况下让文本包裹在 UILabel(通过 UIViewRepresentable)中?

将 lineBreakMode 设置为 byWordWrapping 并将 numberOfLines 设置为 0 似乎还不够:

struct MyTextView: UIViewRepresentable {
    func makeUIView(context: Context) -> UILabel {
        let label = UILabel()
        label.lineBreakMode = .byWordWrapping
        label.numberOfLines = 0
        label.text = "Here's a lot of text for you to display. It won't fit on the screen."
        return label
    }

    func updateUIView(_ view: UILabel, context: Context) {
    }
}

struct MyTextView_Previews: PreviewProvider {
    static var previews: some View {
        MyTextView()
            .previewLayout(.fixed(width: 300, height: 200))
    }
}
Run Code Online (Sandbox Code Playgroud)

无论我对 lineBreakMode 使用哪种设置,文本都不会换行。画布预览和实时预览都如下所示:

文本未换行的屏幕截图

我得到的最接近的是设置 preferredMaxLayoutWidth,这确实会导致文本换行,但似乎没有一个值表示“无论视图大小如何”。

uilabel swift swiftui

14
推荐指数
2
解决办法
4658
查看次数

标签 统计

swift ×2

swiftui ×2

html ×1

markdown ×1

text ×1

uilabel ×1