2017-05-25 64 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'它是第三方類。沒有它做.. –