Swift 在MacOS应用程序中加载WebView后,如何打印它

Swift 在MacOS应用程序中加载WebView后,如何打印它,swift,macos,Swift,Macos,我正试图在Mac OS应用程序的打印面板中打印WebView。如何在打印面板中显示WebView内容 这是用于打印WebView的,我尝试在加载到WebView后在“打印”面板中打印“”,但打印时总是显示空白页 var wbView: WKWebView! let preferences = WKPreferences() let configuration = WKWebViewConfiguration() override func viewDidLoad() { super.v

我正试图在Mac OS应用程序的打印面板中打印WebView。如何在打印面板中显示WebView内容

这是用于打印WebView的,我尝试在加载到WebView后在“打印”面板中打印“”,但打印时总是显示空白页

var wbView: WKWebView!
let preferences = WKPreferences()
let configuration = WKWebViewConfiguration()

override func viewDidLoad() {
    super.viewDidLoad()

    preferences.javaScriptEnabled = true
    preferences.javaScriptCanOpenWindowsAutomatically = true

    configuration.preferences = preferences

    wbView = WKWebView(frame: view.bounds, configuration: configuration)
    self.view.addSubview(wbView)
    wbView.navigationDelegate = self
    wbView.load(URLRequest(url: URL(string: "https://www.google.com")!))

}

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!){

       wbView.printView(self)
//     let printOperation = NSPrintOperation(view:  wbView)
//     printOperation.run()

    }

}
我试着用两种方法来打印 1.wbView.printView() 2.让printOperation=NSPrintOperation(视图:badgeView) printOperation.run()

但在上述两种情况下都不起作用


请为此建议任何解决方案,谢谢。

和@Willeke可能重复,但是,在您的回答“OS X 10.14中不推荐使用“WebFrameLoadDelegate”,您可以在视图中手动选择内容,然后从“文件”菜单中选择“打印”。