gpt4 book ai didi

swift - 配置 Interface Builder 的新 WKWebView 对象

转载 作者:行者123 更新时间:2023-11-28 06:20:24 24 4
gpt4 key购买 nike

有些人可能已经注意到,Apple 最近将 WKWebView(来自 WebKit)实现为 Interface Builder 中的一个对象;但是,我很难正确实现它。我仍然能够通过代码实现它,但事实证明通过 Interface Builder 实现它有点痛苦。

WKWebView 在启动时显示为空白,虽然 NSTextField 在配置后似乎可以工作,但 WKWebView 继续保持空白并且甚至不调用 didStartProvisionalNavigationdidCommitdidFinish 实现时(然而,当以编程方式完成时,这将继续工作)。

界面生成器屏幕截图 Interface Builder Screenshot

Interface Builder 菜单选项 Interface Builder Menu Options

注意: 我也曾尝试使用 WebConfiguration 来实现它,但也没有成功。现在我只是想让代码尽可能简单,以便更好地理解为什么这不起作用。

ViewController.swift

import Cocoa
import WebKit

class WindowController: NSWindowController {

override func windowDidLoad() {
super.windowDidLoad()

// Configure Window Appearance
window!.titlebarAppearsTransparent = true
window!.isMovableByWindowBackground = true
window!.title = ""
window!.backgroundColor = NSColor.white
}
}

class ViewController: NSViewController, WKUIDelegate, WKNavigationDelegate {

let myURL = "https://google.com"

@IBOutlet var webView: WKWebView!
@IBOutlet var pageTitle: NSTextField!

override func viewDidLoad() {
super.viewDidLoad()

// Load Homepage URL in WebView
webView.load(URLRequest(url: URL(string: myURL)!))

}
}

最佳答案

事实证明,当您的项目中有权利文件时,WKWebView 拒绝激活。就我而言,我使用以下设置启用了 App Sandbox:

  • com.apple.security.network.serverYES
  • com.apple.security.files.user-selected.read-writeYES

删除授权文件并将其从项目中完全移除后,WKWebView 又开始工作了。

关于swift - 配置 Interface Builder 的新 WKWebView 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43762398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com