SwiftUI 中显示图片的 HTML 或 Markdown 并自动适应高度
{/'title/':/'SwiftUI 中显示图片的 HTML 或 Markdown 并自动适应高度/', /'description/':/'在 SwiftUI 中显示包含图片的 HTML 或 Markdown 并使文本高度自适应。使用 WebView 加载内容并嵌入到您的视图中,实现高度自适应的显示效果。/', /'keywords/':/'SwiftUI, HTML, Markdown, WebView, WKWebView, 自适应高度, 图片, 文本, 框架/', /'content/':/'要在 SwiftUI 中显示包含图片的 HTML 或 Markdown,并且使文本高度自适应,你可以使用一个 WebView 来加载 HTML 或 Markdown 内容,并将其嵌入到你的视图中。//n//n首先,你需要在项目中导入 WebKit 框架。在你的视图文件开头添加以下导入语句://n//nswift//nimport WebKit//n//n//n接下来,创建一个名为WebView的自定义视图,它将使用WKWebView来加载 HTML 或 Markdown 内容。在你的项目中,创建一个新的 Swift 文件,并在其中添加以下代码://n//nswift//nimport SwiftUI//nimport WebKit//n//nstruct WebView: UIViewRepresentable {//n let htmlString: String//n //n func makeUIView(context: Context) -> WKWebView {//n return WKWebView()//n }//n //n func updateUIView(_ uiView: WKWebView, context: Context) {//n uiView.loadHTMLString(htmlString, baseURL: nil)//n }//n}//n//n//n在这个自定义视图中,我们使用了WKWebView来加载 HTML 或 Markdown 内容。makeUIView(context:)方法创建了一个新的WKWebView对象,并返回它。updateUIView(_:context:)方法在视图需要更新时调用,我们在这里使用loadHTMLString(_:baseURL:)方法加载 HTML 或 Markdown 内容。//n//n现在,你可以在你的主视图中使用WebView来显示 HTML 或 Markdown 内容,并使文本高度自适应。例如,你可以在body属性中使用VStack来垂直排列其他视图和WebView,并将WebView视图的高度设置为最大://n//nswift//nstruct ContentView: View {//n var body: some View {//n VStack {//n // 其他视图//n WebView(htmlString: /'<h1>Hello, World!</h1>/')//n .frame(maxHeight: .infinity)//n }//n }//n}//n//n//n在这个例子中,我们将 HTML 字符串/'<h1>Hello, World!</h1>/'传递给WebView视图,并使用.frame(maxHeight: .infinity)将视图的高度设置为最大,以实现自适应高度。//n//n注意:如果要显示 Markdown 内容,你需要先将 Markdown 转换为 HTML,然后将 HTML 字符串传递给WebView视图。你可以使用第三方库如Down或SwiftyMarkdown来进行 Markdown 到 HTML 的转换。/
原文地址: https://www.cveoy.top/t/topic/pTyP 著作权归作者所有。请勿转载和采集!