如何解决如何从模式对话框显示和滚动WKWebView?
我有我的MacOS应用程序的一项功能,该功能可以在WKWebView中显示上下文相关的帮助,并且大多数情况下都可以工作。在某个时候,我打开了一个模态对话框,询问“您想做X吗?”,它带有3个响应按钮:是,否和帮助。 “帮助”按钮显示WKWebView,但是由于对话框是模式对话框,因此用户无法滚动帮助窗口或以其他方式与其交互,直到关闭模式对话框为止。
有没有一种方法可以显示WKWebView,允许用户在仍显示模式对话框的同时与之交互?
class HelpViewController: NSViewController {
var webView: WKWebView?
static var windowController:NSWindowController?
static var viewController:HelpViewController?
override func viewDidLoad() {
super.viewDidLoad()
webView = WKWebView(frame: view.frame)
webView!.allowsBackForwardNavigationGestures = true
view.addSubview(webView!)
}
// webView should fill the whole window
override func viewWillLayout() {
webView!.frame = view.frame
}
static func showHelp( _ url:URL ) {
if viewController == nil {
let storyboard = NSStoryboard(name: "Main",bundle: nil)
windowController = storyboard.instantiateController(withIdentifier: "HelpWindowController") as? NSWindowController
if windowController != nil {
let window = windowController!.window
if window != nil {
viewController = window!.contentViewController as? HelpViewController
}
}
}
if viewController != nil {
viewController!.webView!.load( URLRequest(url: url) )
windowController!.showWindow(nil)
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。