2017-05-25 65 views
2

我的WebView没有加载只是空白这里是我的代码NSURL的WebView不加载

// 
// SecondViewController.swift 
// Bachelmatt Garage 
// 
// Created by Thilo Jaeggi on 24.05.17. 
// Copyright © 2017 Thilo Jaeggi. All rights reserved. 
// 

import UIKit 

class SecondViewController: UIViewController { 
@IBOutlet var webView: UIWebView! 
override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    let url = URL (string: "http://www.sourcefreeze.com"); 
    let request = URLRequest(url: url!); 
    webView.loadRequest(request); 
} 


override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


} 

我已经问过同样的问题一年前,听说我在某种程度上需要启用Xcode的“安全设置”这里是这种情况吗?提前致谢。

+1

你添加的nstransportsecurity在你的plist –

+0

你绑定的web视图到厦门国际银行或故事板? –

+0

你能告诉我怎么做那个Anbu.Karthik? – Zarkex

回答

1

请加在你的info.plist以下行(源代码开放的)文件

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

欲了解更多信息,请检查该Transport security has blocked a cleartext HTTP

感谢

0

打开你的info.plist为SourceCode并添加

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

然后按照提及的方式女:

override func viewDidLoad() { 
    super.viewDidLoad() 
webView.loadRequest(URLRequest(url: URL(string: "http://www.sourcefreeze.com")!)) 
} 
0

不错,已可以正常使用:请参见下面的代码:

import UIKit 
import SVProgressHUD 

class ConditionsViewController: UIViewController, UIWebViewDelegate { 

    @IBOutlet weak var webVw: UIWebView! 


    override func viewDidLoad() { 
     super.viewDidLoad() 


     SVProgressHUD.show(withStatus: "Loading") 

     webVw.delegate = self 

     let url = URL (string: "http://www.sourcefreeze.com"); 
     let request = URLRequest(url: url!); 
     webVw.loadRequest(request); 
    } 

    func webViewDidFinishLoad(_ webView: UIWebView) { 

     SVProgressHUD.dismiss() 
    } 

enter image description hereenter image description here

编辑

import UIKit 
    // import SVProgressHUD 

    class ConditionsViewController: UIViewController, UIWebViewDelegate { 

     @IBOutlet weak var webVw: UIWebView! 


     override func viewDidLoad() { 
      super.viewDidLoad() 


      SVProgressHUD.show(withStatus: "Loading") 

      webVw.delegate = self 

      let url = URL (string: "http://www.sourcefreeze.com"); 
      let request = URLRequest(url: url!); 
      webVw.loadRequest(request); 
     } 

     func webViewDidFinishLoad(_ webView: UIWebView) { 

      //SVProgressHUD.dismiss() 

      print("Loaded") 

// Here it will print 2-3 sec later, in that mean time your page will load in your view controller 
     } 

主要是我已经加入UIWebViewDelegate及其德尔egate方法webViewDidFinishLoad。试试吧,它肯定会起作用。

+0

你是怎么做到这件事的? – Zarkex

+0

没有这样的模块SVProgressHUD – Zarkex

+0

不要担心'SVProgressHUD'它是第三方类。没有它做.. –