ios - WK WebView 调用完成处理程序,但现在显示任何内容
问题描述
我想从服务器加载隐私策略(简单字符串),例如https://*****.com/privacy-policy.html到我的应用程序。
我到目前为止所尝试的内容如下:
class TermsAndConditionsDetailViewController: UIViewController, WKNavigationDelegate {
@IBOutlet weak var contentView: UIView!
var webView: WKWebView!
func webView(_ webView: WKWebView,
didFinish navigation: WKNavigation!) {
print("loaded")
}
override func viewDidLoad() {
super.viewDidLoad()
webView = WKWebView()
contentView.addSubview(webView)
let myURL = URL(string: "https://***.com/privacy-policy.html")
let myRequest = URLRequest(url: myURL!)
webView.navigationDelegate = self
//I have tried these both one by one
webView.loadHTMLString("", baseURL: myURL)
webView.load(myRequest)
}
}
当我运行此代码时,“已加载”会在 2-3 秒后打印出来,但它不会在屏幕上显示任何内容。我一直在搜索这个问题一段时间,并尝试使用代码。我已经交叉检查了所有视图的约束,特别是 contentView,但没有运气。
解决方案
您忘记添加frame
您的WKWebView
只需添加
webView = WKWebView(frame: self.contentView.frame)
后
webView = WKWebView()
它会正常工作。
推荐阅读
- c# - 当前上下文中不存在名称“Helper”,Blazor 的 Plotly 库
- python - 时间序列的傅里叶变换 (fft),但已清理数据的两端相互靠近
- python - 需要从一个数据帧中查找数据,看看它是否在 Pandas [Python] 中是另一个数据帧
- python - 用逗号格式化数字
- mysql - 如何从 Object(在 nodeJS 中)插入 mysql 行?
- python - 芹菜链无故停在中间(AWS Redis db、RabbitMQ broker)
- php - Laravel find() 没有从数据库中获取数据
- swift - 选择关闭 UISwitch 时如何停止/删除方法?swift5/xcode11
- google-cloud-platform - Google Cloud Bucket - 静态网站错误(使用 NameCheap 域和 Cloudflare CDN)
- r - solve.default(-H) 中的错误:Lapack 例程 dgesv:系统完全是奇异的:U[16,16] = 0