【发布时间】:2021-04-09 07:07:37
【问题描述】:
我收到来自API 响应的MathJax String,该响应需要在SwiftUI 中的WKWebView 中显示。这是一个示例String
"<img alt=\"\" height=\"2305\" src=\"https:\/\/s3-us-west-2.amazonaws.com\/infinitestudent-images\/ckeditor_assets\/pictures\/37732\/content_types_of_combustion.jpg\" width=\"800\" \/>"
这是我尝试过的代码:
import SwiftUI
import WebKit
struct Model: Codable {
var mathjaxBody: String?
var answer: Answer
}
struct MathJaxView: View {
let model: Model
var body: some View {
ScrollView {
AnswerSectionView(answer: model.answer)
HTMLView(htmlString: model.mathjaxBody)
.frame(minWidth: 100, maxWidth: .infinity, minHeight: 100, maxHeight: .infinity)
}
}
}
struct HTMLView: UIViewRepresentable {
var htmlString: String?
func makeUIView(context: Context) -> WKWebView {
WKWebView(frame: .zero)
}
func updateUIView(_ uiView: WKWebView, context: Context) {
guard let string = htmlString else { return }
uiView.loadHTMLString(string, baseURL: nil)
}
}
它需要在ScrollView 中,上面有一些不同的细节,这些细节在ScrollView 中正确显示。但是,HTMLView 没有出现。我尝试添加.frame(minWidth: 100, maxWidth: .infinity, minHeight: 100, maxHeight: .infinity) 但仍然没有出现。
【问题讨论】:
标签: swift swiftui scrollview wkwebview mathjax