2017-01-10 6 views
0

UIWebViewを2番目のビューコントローラにプリロードする際に問題が発生しました。プリロードUIWebView

エラーは表示されません。第2ビューには何も表示されません。

次のように最初のビューで私のプリロード機能が..です

func preloadShop(){ 
     let preload = storyboard!.instantiateViewControllerWithIdentifier("Shop") as! ViewController 


     preload.loadWebView() 
     print("preloading shop") 
    } 

と私の第2のビュー機能は..です

func loadWebView(){ 


     let webView = UIWebView(frame: CGRect(x: 0, y: 0, width: view.bounds.size.width, height: view.bounds.size.height)) 
     webView.loadRequest(NSURLRequest(URL: NSURL(string: "http://www.google.co.uk")!)) 

     self.view.addSubview(webView)  
    } 

答えて

1

あなたがセグエを経由してあなたのViewControllersを表示する場合は、

let preload = storyboard!.instantiateViewControllerWithIdentifier("Shop") as! ViewController 

は現在のViewControllerのインスタンスを作成し、現在のViewControllerのインスタンスは作成しません。

webviewのコンテンツをプリロードするには、撮影ViewControllerにプロパティを作成し、そこから手動で表示する必要があります。

またのviewDidLoadの内側にあなたのローディング方式を入れて確認します

preload.loadWebView() 

は、ビューがロードされている

preload.view.layoutSubviews() 

の代わりに呼び出す必要があります。