これが複製であるために撃たれる前に、そうではありません。ここでのWKWebViewに関するほとんどすべての質問は、macOSアプリではなくiOSアプリのWKWebViewに関するものです。違いは、macOSのNSViewControllerインターフェイスの代わりに実装されているUIViewControllerインターフェイスだけです。
Appleのドキュメントにあるサンプルコードと、オンラインで見つかるコントローラーコードは機能しません。問題なくコンパイルできますが、webviewは非アクティブのままです。
私が見なかったものはありますか、これはWKWebViewのバグですか?
iOSでこれを行う方法を示すチュートリアルからいくつかのコードをコピーし、UIViewControllerをNSViewControllerに変更しただけです(それが唯一の違いだったため)が、機能しませんでした。
ViewController.Swiftの次のコードは機能しません。また、次の場合は機能しませんclass ViewController: NSViewController, WKUIDelegate
import Cocoa;
import WebKit;
class ViewController: NSViewController {
@IBOutlet weak var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let url=URL(string: "http://safetec-cam.biz/images/webcam_extern/bad-nauheim_bahnhof_west.jpg");
webView.load(URLRequest(url: url!));
}
}
nSViewControllerと交換されたUIViewControllerでこのように行われた場合も機能しません https://developer.Apple.com/documentation/webkit/wkwebviewからの画像
最初から始めることをお勧めします:
ロードするURLを設定します:
let myURLString = "https:yourWebLink"
let url = NSURL(string: myURLString)
let request = NSURLRequest(URL: url!)
WebViewでの初期化とロードのリクエスト:
let webView = WKWebView(frame: self.view.frame)
webView.navigationDelegate = self
webView.loadRequest(request)
WKNavigationDelegateを実装して、ページのロード/エラーを追跡します:
extension ViewController: WKNavigationDelegate {
func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
print("Started to load")
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
print("Finished loading")
}
func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError) {
print(error.localizedDescription)
}
}
詳細なリファレンスチェック: https://iosdevcenters.blogspot.com/2016/05/creating-simple-browser-with-wkwebview.html