ios - 如何更新Down库DownView内容并保持风格?

标签 ios swift

我是 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/

相关文章:

ios - 使用一种方法代替多种方法

ios - 如何在异步 block 内为 dispatch_group_async dispatch_group_wait

ios - Error.code 在 swift 3 中不再有效语法?

ios - 不同屏幕尺寸下的UITableViewCell

swift - 归并排序算法效率

ios - 当我在 NSOperation 执行 performSelectorOnMainThread 时弹出导航 Controller 时应用程序崩溃

ios - 第三方应用程序可以阻止其他IOS应用程序被打开或使用吗?

swift - NSURLCredential 无法在 Swift 中编译

swift - touchesBegan 在我的代码中没有响应

ios - 在 Swift 中访问来自不同类的 socket