WebView无法加载

时间:2018-05-24 14:37:15

标签: ios swift uiviewcontroller wkwebview

我刚刚开始使用swift进行开发,所以如果问题是基本/愚蠢,我很抱歉。

我有以下设置,只是一个测试

public NutritionFacts updateParameter(String key, int value){ 
     //call method to validate the key/value
     //update fact
     //return a new object that reflects our change
     return this; 
}

public int retrieveValuefor(String key){
     //call method to validate the key
     //Get value associated with the key
     //return value associated with the key
     return factValue;
}

不幸的是浏览器没有加载。模拟器仅显示空导航栏。 建议?我正在关注hackingswift的教程,所以它应该可以工作。

3 个答案:

答案 0 :(得分:0)

您必须使用“界面”构建器将webView添加为子视图或创建IBOutlet。

试试这个:

class ViewController: UIViewController, WKNavigationDelegate {

    var webView: WKWebView?

   func loadView() {            
        webView = WKWebView()
        webView?.navigationDelegate = self
        self.view.addSubview(webView!)
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        self.loadView()
        let url = URL(string: "https://hackingswift.com")!
        webView?.load(URLRequest(url:url))
        webView?.allowsBackForwardNavigationGestures = true
    }

}

如果你想要它更简单(没有可空变量),例如:

class ViewController: UIViewController, WKNavigationDelegate {

    var webView = WKWebView()

    override func viewDidLoad() {
        super.viewDidLoad()
        webView.navigationDelegate = self
        self.view.addSubview(webView)
        webView?.allowsBackForwardNavigationGestures = true
        self.loadUrl("https://hackingswift.com")
    }

    func loadUrl(_ url: String) {            
        if let url = URL(string: url) {
            webView.load(URLRequest(url:url))
        }
    }
}

答案 1 :(得分:0)

  编辑:它看起来像一些网站加载,而其他人没有,即使它们是安全的。如果我把apple.com放在示例中,它会加载,但其他一些不会

您的网址应以 http https 开头,以便加载webView。

另一个可能的原因是您的网址包含无效的证书。将下面的委托函数添加到您的代码中。您必须让WKWebView绕过证书检查。但是,从不建议将此代码投入生产。您应该注意webView应该和将要加载的网站。

mvn clean
    [INFO] Scanning for projects...
    [INFO] Inspecting build with total of 1 modules...
    [INFO] Installing Nexus Staging features:
....
..
mvn compile
    [INFO] Scanning for projects...
    [INFO] Inspecting build with total of 1 modules...
    [INFO] Installing Nexus Staging features:

答案 2 :(得分:0)

问题在于这一行:

let url = URL(string: "https://hackingswift.com")!

互联网上没有这样的网址,所以你实际上并没有看到任何东西。 (如果将该URL粘贴到任何浏览器中,您将看不到任何内容。)

所以改变这一行:

let url = URL(string: "https://www.hackingwithswift.com")!

现在运行应用程序,然后,您将看到该网站:

enter image description here