Preloading UIWebView



我在将UIWebView预加载到第二个视图控制器中时遇到问题。

我没有收到任何错误,只是在第二个视图中没有加载任何内容。

我在第一个视图中的预加载函数如下。.

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

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

我的第二个视图功能是..

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)    
    }

如果你通过 segue 显示你的 ViewController,

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

将创建视图控制器的新实例,而不是当前实例。

如果要预加载 webview 的内容,则需要在拍摄 ViewController 中创建一个属性,如果从那里手动呈现,则无需 segue。

你还应该把你的加载方法放在viewDidLoad中并调用

preload.view.layoutSubviews()

而不是

preload.loadWebView()

这样可以确保视图已加载。

相关内容

  • 没有找到相关文章

最新更新