Кажется, по умолчанию внешний вид NSAlert не идеален. Например, когда я нажимаю на флажок, флажок исчезает, а выделенная кнопка имеет белый текст.
[Edit] Я должен упомянуть, что это приложение Metal.
Вот код для создания NSAlert (используя SnapKit для ограничений):
let aview = NSView(frame: NSRect(x: 0, y: 0, width: 150, height: 70))
let btn = NSButton(checkboxWithTitle: "Sound", target: nil, action: nil)
let btn1 = NSButton(checkboxWithTitle: "Music", target: self, action: #selector(handleMusicToggle(_:)))
aview.addSubview(btn)
aview.addSubview(btn1)
btn.snp.makeConstraints { (make) in
make.leading.equalToSuperview()
make.top.bottom.equalToSuperview()
}
btn1.snp.makeConstraints { (make) in
make.leading.equalTo(btn.snp.trailing)
make.trailing.equalToSuperview()
make.top.bottom.equalToSuperview()
}
let alert = NSAlert()
alert.messageText = "PAUSED"
alert.informativeText = "BLOKKIT is paused"
alert.alertStyle = .warning
alert.accessoryView = aview
alert.addButton(withTitle: "RESUME")
alert.addButton(withTitle: "QUIT")
let response = alert.runModal()
Здесьскриншот того, как выглядит NSAlert: ![enter image description here](https://i.stack.imgur.com/OVq5m.png)