编辑:我的问题不是很清楚现在我编辑它是为了明确我需要打开一个在线网页而不是帮助书。
我想在macOS项目中的NSAlert中包含一个问号按钮,该项目指向带有帮助资源的在线网页。
我看到here有两种可能性:
var showsHelp:Bool指定警报是否有帮助按钮。
var helpAnchor:String?警报的HTML帮助锚。
但我无法弄清楚如何实施它。
我使用此代码:
@IBAction func buttonPressed(_ sender: Any) {
let myAlert: NSAlert = NSAlert()
myAlert.messageText = "Message"
myAlert.informativeText = "Informative text."
myAlert.showsSuppressionButton = true
myAlert.addButton(withTitle: "Later")
myAlert.addButton(withTitle: "Now")
myAlert.addButton(withTitle: "OK")
let choice = myAlert.runModal()
switch choice {
case NSAlertFirstButtonReturn:
print ("OK")
case NSAlertSecondButtonReturn:
print ("Now")
case NSAlertThirdButtonReturn:
print ("Later")
default: break
}
if myAlert.suppressionButton!.state == 1 {
print ("Checked")
} else {
print ("Not checked")
}
}
答案 0 :(得分:2)
您应该使控制器类符合NSAlertDelegate
然后,设置myAlert.delegate = self
和myAlert.showsHelp = true
在您的控制器类中,实现func alertShowHelp(_ alert: NSAlert) -> Bool
以执行您喜欢的任何操作。
通常,要在用户的默认浏览器中打开网址,请使用NSWorkspace
及其open()
方法。