将按钮的属性hasDestructiveAction
设置为true
。该属性是在Big Sur中新增的。
在 vadian 的回答 中补充一点:
似乎只有当按钮不是第一个(因此不是蓝色高亮按钮)时,将按钮设置为破坏性才有效。 对于所有好奇的人,以下是代码示例:
let alert = NSAlert()
alert.messageText = "Alert Title"
alert.alertStyle = .warning
alert.addButton(withTitle: "Cancel")
alert.addButton(withTitle: "Destructive Button")
if #available(macOS 11.0, *) {
alert.buttons.last?.hasDestructiveAction = true
}
缺点是用户不能通过回车键接受破坏性操作,只能手动点击或通过选项卡选择按钮(必须在设置中启用此选项)。