2016-07-08 18 views
0

Mein Webview wird nicht angezeigt. (Nur eine leere weiße Seite) Ich habe einen TabBarController und zwei ViewControllers. Einer von ihnen enthält die Webansicht.iOS Swift Webview wird nicht angezeigt

Mein Code:

import Foundation 
import UIKit 

class HomeViewController: UIViewController, UIWebViewDelegate { 

    @IBOutlet var webView: UIWebView! 


    var urlpath: String = "http://www.google.de" 

    func loadAddressURL(){ 
     let requesturl = NSURL(string: urlpath) 
     let request = NSURLRequest(URL: requesturl!) 
     webView.loadRequest(request) 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     loadAddressURL() 
    } 

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


} 

Was stimmt hier nicht?

+0

Haben Sie https versucht? – Putz1103

+0

ja ich habe und das gleiche Problem – simplesystems

Antwort

0

Zuerst überprüfen Sie, ob die Ansicht korrekt ausgerichtet ist. Führen Sie die App und das Navigationsgerät zum Bildschirm aus. Führen Sie Debug> Debugging anzeigen> Ansichtenhierarchie erfassen aus. Klicken Sie mit der rechten Maustaste auf den Bildschirm und drucken Sie die Ansicht aus, um zu sehen, ob der Rahmen korrekt ist. Wenn dies in Ordnung ist, implementieren Sie die Delegate-Methoden von UIWebView, insbesondere webViewDidFinishLoad. Dadurch sollten Sie wissen, ob beim Laden der Webseite ein Problem aufgetreten ist.

0

Haben Sie Beschränkungen in IB eingerichtet? Sie könnten versuchen, sie programmgesteuert zu setzen, um zu sehen, ob das hilft.

0

Sie müssen dem WebView mitteilen, wer sein Stellvertreter ist, nur die Verbindung binden wird nicht genug sein.

In viewDidLoad hinzufügen:

self.webView.delegate = self 

Dann müssen Sie UIWebViewDelegate entsprechen (die Sie bereits tun, aber ich schlage vor, Sie Ihre View-Controller erweitern statt):

extension HomeViewController: UIWebViewDelegate { 
    func webViewDidStartLoad(_ webView: UIWebView) { 
     print("Loading") 
    } 

    func webViewDidFinishLoad(_ webView: UIWebView) { 
     print("Finished") 
    } 
} 

Und last Aber nicht zuletzt müssen Sie Ihrer Anwendung erlauben, externe URLs zu laden, indem Sie eine Transportsicherheit hinzufügen. Ich schlage vor, Sie überprüfen diese post.

Bitte beachten Sie, dass ich Swift 3 verwende, Sie müssen möglicherweise kleine Änderungen vornehmen.