预加载 UIWebView
Preloading UIWebView
我在将 UIWebView 预加载到第二个视图控制器时遇到问题。
我没有收到任何错误,只是第二个视图中没有加载任何内容。
我在第一个视图中的preload函数如下..
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 显示 ViewControllers,
let preload = storyboard!.instantiateViewControllerWithIdentifier("Shop") as! ViewController
将创建您的 ViewController 的新实例,而不是当前实例。
如果你想预加载 webview 的内容,你需要在你的拍摄中创建一个 属性 ViewController 并从那里手动呈现,没有 segue。
您还应该将加载方法放入 viewDidLoad 并调用
preload.view.layoutSubviews()
而不是
preload.loadWebView()
确保已加载视图。
我在将 UIWebView 预加载到第二个视图控制器时遇到问题。
我没有收到任何错误,只是第二个视图中没有加载任何内容。
我在第一个视图中的preload函数如下..
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 显示 ViewControllers,
let preload = storyboard!.instantiateViewControllerWithIdentifier("Shop") as! ViewController
将创建您的 ViewController 的新实例,而不是当前实例。
如果你想预加载 webview 的内容,你需要在你的拍摄中创建一个 属性 ViewController 并从那里手动呈现,没有 segue。
您还应该将加载方法放入 viewDidLoad 并调用
preload.view.layoutSubviews()
而不是
preload.loadWebView()
确保已加载视图。