2016-12-23 44 views
0

我期望實現您具有指向網站鏈接的效果,並且可以使用3D Touch進行預覽,例如在Apple的Notes應用程序中。當使用3D Touch在UIButton上窺視時,UIWebView不會顯示內容

在我的故事板中,我有一個UIButton(它打開一個鏈接)在我的一個UIViewControllers中,並且我還有另一個UIViewController的自定義類型WebViewController(storyboard id:WebView),只包含一個UIWebView。我已經在UIButton上實現了3D Touch,並且我可以在窺視視圖中顯示任何我想要的內容,但是當我在窺視視圖中顯示它時,我的UIWebView不顯示其內容。我已經使用UIWebViewDelegate函數來確認UIWebView正在成功加載url。唯一的問題是它沒有在UIWebView中顯示任何內容,當我在UIButton上使用3D touch時,我只是得到一個空白的UIWebView。

這是在我的UIViewController中進行三維觸控偷看執行代碼:

func previewingContext(_: UIViewControllerPreviewing, viewControllerForLocation: CGPoint) -> UIViewController? { 
    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let previewController = storyboard.instantiateViewController(withIdentifier: "WebView") as? WebViewController 
    previewController?.loadView() 
    previewController?.webView.loadRequest(URLRequest(url: URL(string: "https://google.com/")!)) 
    return previewController 
} 

我已經使用了以下UIWebViewDelegate方法來檢查的UIWebView是否加載網址:

func webViewDidStartLoad(_ webView: UIWebView) { 
    print("Started loading") 
} 

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

func webView(_ webView: UIWebView, didFailLoadWithError error: Error) { 
    print("WebView error: \(error)") 
} 

那些給我下面的輸出,所以我假設url加載正常:

Started loading 
Finished loading 

如何讓UIWebView在peek視圖中顯示加載的url?

回答

0

我通過聯繫KrakenDev的Hector(所有學分給他)解決了問題,他建議我將UIWebView的加載代碼移動到WebViewController的viewWillAppear()。現在都在工作。

相關問題