Swift 自定义NSAlert复选框和按钮的外观

Swift 自定义NSAlert复选框和按钮的外观,swift,macos,cocoa,Swift,Macos,Cocoa,NSAlert的默认外观似乎不太理想。例如,当我单击一个复选框时,该复选框将消失,并且焦点按钮具有白色文本 [编辑]我应该提到这是一个金属应用程序 以下是创建NSAlert的代码(使用SnapKit进行约束): 以下是NSAlert外观的屏幕截图: 有关信息,以下是我得到的信息: 我在Xcode 11.2 beta 2上测试,没有使用sip,而是直接创建btn和btn1帧。我不明白这个问题,音乐复选框是好的。简历显示在蓝色背景上。尝试删除sap并手动设置帧,只是为了确认。重复我在11.2.1 G

NSAlert的默认外观似乎不太理想。例如,当我单击一个复选框时,该复选框将消失,并且焦点按钮具有白色文本

[编辑]我应该提到这是一个金属应用程序

以下是创建NSAlert的代码(使用SnapKit进行约束):

以下是NSAlert外观的屏幕截图:

有关信息,以下是我得到的信息:


我在Xcode 11.2 beta 2上测试,没有使用sip,而是直接创建btn和btn1帧。我不明白这个问题,音乐复选框是好的。简历显示在蓝色背景上。尝试删除sap并手动设置帧,只是为了确认。重复我在11.2.1 GM种子上尝试的内容。外观相同。我发现使用基本MacOS模板创建项目时,NSAlert看起来不错,但使用跨平台游戏模板创建项目时,它看起来像我的屏幕截图。
                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()