我是 Swift 的新手。我正在使用 Down 渲染 Markdown 并将其添加到我的 View 中,https://github.com/iwasrobbed/Down
我可以将 DownView
添加到我的 View 中(使用下面的代码)但是我如何更新其中的内容?
let cardFrontStr = "Use chained optional to simplify code below,\n\n```\nvar display: UILabel?\nif let label = display {\n if let text = label.text {\n let x = text.hasValue\n // ...\n }\n}\n```"
let cardfrontView = try? DownView(frame: cardfront.bounds, markdownString: cardFrontStr)
cardfront.addSubview(cardfrontView!)
由于 DownView 是从 WebView
扩展的,所以我可以更新内容和 loadHTMLString
;但是,在我这样做之后,DownView 样式就消失了。
let down = Down(markdownString: "`test`")
let newStr = try? down.toHTML()
cardbackView?.loadHTMLString(newStr!, baseURL: nil)
最佳答案
没有找到为此编写的任何方法。但您可以尝试以下方法来更新它。
首先以这种方式在类中的方法之外声明 cardfrontView
:
var cardfrontView: DownView?
现在以这种方式创建cardfrontView
:
let cardFrontStr = "Use chained optional to simplify code below,\n\n```\nvar display: UILabel?\nif let label = display {\n if let text = label.text {\n let x = text.hasValue\n // ...\n }\n}\n```"
cardfrontView = try? DownView(frame: self.view.bounds, markdownString: cardFrontStr)
self.view.addSubview(cardfrontView!)
现在当你想更新内容时,你可以这样做:
cardfrontView?.removeFromSuperview()
let cardFrontStr = "Updated Use chained optional to simplify code below,\n\n```\nvar display: UILabel?\nif let label = display {\n if let text = label.text {\n let x = text.hasValue\n // ...\n }\n}\n```"
cardfrontView = try? DownView(frame: self.view.bounds, markdownString: cardFrontStr)
self.view.addSubview(cardfrontView!)
希望这会有所帮助。
关于ios - 如何更新Down库DownView内容并保持风格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42117350/