【问题标题】:Swift - WKWebView is not shown at allSwift - WKWebView 根本不显示
【发布时间】:2019-06-01 16:01:57
【问题描述】:

我有一个简单的 WKWebView,在我的应用中根本没有显示。

这是代码:

var contentWKWebView = WKWebView()
let html = "<html><body>Hello World</body></html>"
contentWKWebView.loadHTMLString(html, baseURL: Bundle.main.bundleURL)
self.addSubview(contentWKWebView)
contentWKWebView.translatesAutoresizingMaskIntoConstraints = false
contentWKWebView.leftAnchor.constraint(equalTo: self.leftAnchor, constant: 5).isActive = true
contentWKWebView.rightAnchor.constraint(equalTo: self.rightAnchor, constant: -5).isActive = true
contentWKWebView.topAnchor.constraint(equalTo: stackView.bottomAnchor, constant: 10).isActive = true
contentWKWebView.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: -10).isActive = true

网页视图根本不显示。

注意事项:

  1. 此代码是 UITableView 内 UITableCellView 代码的一部分。

  2. 此代码位于单独的 Model Swift 文件中,而不是直接位于 ViewController Swift 文件下。

  3. 这个 Swift 文件中的导入是:

导入基础

导入 UIKit

导入 WebKit

  1. UITableCellView 中有其他对象在 WKWebView(StackView、Label 等)之前正确显示。

有什么想法吗?

谢谢! 阿杰

【问题讨论】:

  • 您是否调试过视图层次结构?
  • @RajeshKumarR 视图层次结构是什么意思?
  • 您的代码可以正常工作,可能您的约束有一些问题,很可能是 topAnchor。
  • 我将从调试 View Hierarchy 开始,正如@RajeshKumarR 所说。运行应用程序,然后选择Debug -&gt; View Debugging -&gt; Capture View Hierarchy,看看你是否能找到你的WKWebView
  • @FilipThanks!我不知道那个调试选项! WKWebView 不会出现在层次结构中。这是否意味着 - 这是一个约束问题?

标签: html swift constraints wkwebview nstablecellview


【解决方案1】:

问题是我错过了这条线:

var contentWKWebView = WKWebView()

这一行位于 TableCellView 的开头,在 init 函数之前。 正确的行为是在里面去掉这一行:func layoutSubviews()

此外,我认为最好制作一个 UIView 并将 WKWebView 放入其中,以保持其界限。约束确实也有问题。

谢谢你打开我的思路。

AJ

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多