如何在我的第二个场景中使用 WKWebView

问题描述

几天前我一直在尝试制作一个基本的应用程序,我希望 Webkit 视图仅在按下按钮时弹出。我已经放置了我正在使用的代码,但它只显示了网站,没有其他内容

class ViewController: UIViewController {

    var webView: WKWebView!

    override func loadView() {
        webView = WKWebView(frame: .zero,configuration: WKWebViewConfiguration())
        self.view = webView
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        webView.load(URLRequest(url: URL(string: "https://www.apple.com/")!))
    }
}

解决方法

如果您想在两个单独的视图中制作它并在单击按钮后显示第二个视图控制器,则可以使用它:

import UIKit
import WebKit

class ViewController: UIViewController,WKUIDelegate {
    
var webview: WKWebView!
    
    override func loadView() {
        let webconfig = WKWebViewConfiguration()
        webview = WKWebView(frame: .zero,configuration: webconfig)
        webview.uiDelegate = self
        view = webview
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        let myurl = URL(string: "https://google.com/")
        let myRequest = URLRequest(url: myurl!)
        webview.load(myRequest)
    } 

enter image description here

但是如果你想在同一个视图中使用它,你可以通过使用按钮操作来使用以下内容:

import UIKit
import WebKit

class ViewController: UIViewController,WKUIDelegate {
    
var webview: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()
       
    }
    
    func loadMyView() {
        let webconfig = WKWebViewConfiguration()
        webview = WKWebView(frame: .zero,configuration: webconfig)
        webview.uiDelegate = self
        view = webview
    }
    func viewWeb()  {
        let myurl = URL(string: "https://google.com/")
        let myRequest = URLRequest(url: myurl!)
        webview.load(myRequest)
    }
    
    @IBAction func buttonWebViewed(_ sender: Any) {
        loadMyView()
        viewWeb()
    }
    
   
}

enter image description here