• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 在 UIView 中创建 WKWebView

[复制链接]
菜鸟教程小白 发表于 2022-12-13 10:23:23 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试在 UIView 中添加 WKWebView ,

代码似乎工作正常(页面加载边界很好,委托(delegate)打印消息没有错误) 但是 View (称为 ViewForStuffInWeb )保持空白,其中没有任何内容 有人能解释一下为什么吗?

import UIKit
import WebKit

class ViewController: UIViewController ,WKNavigationDelegate  {


@IBOutlet var ViewForStuffInWeb: UIView!

var webView = WKWebView()
let request =  "https://www.google.fr"



override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    self.automaticallyAdjustsScrollViewInsets = false
    let config = WKWebViewConfiguration()
    webView = WKWebView(frame: ViewForStuffInWeb.bounds ,configuration : config)
    webView.navigationDelegate = self
    ViewForStuffInWeb = webView
    println("webview : frame :\(webView.frame)  , bounds : \(webView.bounds)")
    requesting(request)
    }

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view, typically from a nib.
}

func requesting (request :String) {
    if let url = NSURL(string: request) {
        webView.loadRequest(NSURLRequest(URL: url))
    }

}


override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) {
    println("decide policy action")
    decisionHandler(WKNavigationActionPolicy.Allow)
}
func webView(webView: WKWebView, decidePolicyForNavigationResponse navigationResponse: WKNavigationResponse, decisionHandler: (WKNavigationResponsePolicy) -> Void) {
    println("decide policy response")
    decisionHandler(WKNavigationResponsePolicy.Allow)
}
func webView(webView: WKWebView, didCommitNavigation navigation: WKNavigation!) {
    println("commit navigation")
}
func webView(webView: WKWebView, didFailNavigation navigation: WKNavigation!, withError error: NSError) {
    println("fail in didFailNavigation \(error)")
}
func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError) {
    println("fail in didFailProvisionalNavigation \(error)")
}
func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
    println("finish navigation")
}

感谢阅读



Best Answer-推荐答案


您永远不会将 WKWebView 添加到 View 层次结构中。在您的 viewDidAppear 中,哪些代码应该真正移动到 viewDidLoad,您可能想要替换:

ViewForStuffInWeb = webView 

与:

ViewForStuffInWeb.addSubview(webView)

虽然不清楚 ViewForStuffInWeb 究竟是什么。仅当该 View 存在于您的 nib 中并且已连接时,上述操作才有效。

关于ios - 在 UIView 中创建 WKWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32399066/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap