我正在使用Xcode版本10.1在Swift 4.2中开发mac OS扩展。 当前,当用户单击工具栏按钮时,我正在显示一个弹出窗口。
在弹出窗口中,我加载了带有搜索框的网页。 当前,当用户使用搜索框进行搜索时,结果将显示在同一Web视图中(在弹出窗口本身中打开)
我想在野生动物园浏览器中打开该搜索链接/结果。
参考代码
import SafariServices
import WebKit
import os.log
class SafariExtensionViewController: SFSafariExtensionViewController, WKNavigationDelegate, WKUIDelegate{
static let shared = SafariExtensionViewController()
var webView : WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
self.preferredContentSize = NSMakeSize(380, 350) //370, 340
webView = WKWebView(frame: self.view.frame)
self.view.addSubview(webView)
webView.navigationDelegate = self
webView.translatesAutoresizingMaskIntoConstraints = false;
let height = NSLayoutConstraint(item: webView, attribute: .height, relatedBy: .equal, toItem: self.view, attribute: .height, multiplier: 1, constant: 0)
let width = NSLayoutConstraint(item: webView, attribute: .width, relatedBy: .equal, toItem: self.view, attribute: .width, multiplier: 1, constant: 0)
self.view.addConstraints([height,width])
let startingUrl = URL(string: mySiteURL);
webView.load(URLRequest(url: startingUrl!));
}
}
如何在Safari浏览器标签中而不是弹出窗口中打开链接?
此外,xcode 10.1和Swift 4.2是否支持UIKit?
UIKit是否可用于mac OS App?