ios - 预加载 UIWebView

标签 ios swift uiwebview

我已经尝试在我的代码中预加载 UIWebView 但没有任何结果。 我无法弄清楚代码中有什么问题。

第一个 UIViewController

func viewDidLoad(){
let gallery = storyboard?.instantiateViewControllerWithIdentifier("Gallery") as! GalleryViewController

gallery.loadwWebView()
}

在第二个 UIViewController 中

func loadwWebView(){
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: "https://www.google.com")!))

self.view.addSubview(webView)

}

我选择以编程方式创建 UIWebView 方式,因为如果我使用 @IBOutlet 它会崩溃。

最佳答案

问题是你正在实例化一个画廊,它反过来创建一个 WebView ,但是 gallery 是一个局部变量,当它超出范围时将被释放。

您需要保留对此 View Controller 的引用(例如,使其成为当前 View Controller 的属性)。如果你这样做,你需要确保当你转换到这个 View Controller 时,你不使用 segue(因为这将创建第二个 View Controller 的第二个实例),而是以编程方式转换到你已经实例化。

您可能还想保存对添加到第二个 View Controller 的 View 层次结构中的 Web View 的引用,否则您将无法再次引用它(或者至少在没有一些繁琐的 subview 枚举的情况下不能)。

关于ios - 预加载 UIWebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35720946/

相关文章:

javascript - 如何在 Phonegap 应用程序中查找内存泄漏

iOS:获取图像的最大颜色

ios - 如何将文本放入 segue 函数以传递给下一个 Controller ?

swift - Xcode:如果前一个失败则跳过测试

ios - 无法将网页添加到 UIViewController (Swift)

iphone - 如何将 UIWebView 内容调整为特定尺寸?

ios - UIWebView无法加载带有三个#符号(标签)的URL,但Safari可以正常工作

ios - SWIFT:var someVariable:int = textfield.text.toInt() x textfield2.text.toInt() 并强制展开

ios - iOS 上服务器发送事件的 webkit 推荐替代方案

快速类型转换