默认情况下,AppKitNSSavePanel
具有以下标准窗口按钮(左上角的圆形按钮):
禁用缩放按钮也很容易(我们不希望这样,只是表明我们使用了正确的 API):
let panel = NSSavePanel()
let zoombutton = panel.standardWindowButton(.zoomButton)!
zoombutton.isEnabled = false
panel.runModal() // all three standard buttons disabled
但是关闭按钮无法以某种方式启用:
let panel = NSSavePanel()
let closebutton = panel.standardWindowButton(.closeButton)!
closebutton.isEnabled = true
// assert(closebutton.isEnabled) // wouldn't hold
panel.runModal() // still no close button
但在他们自己的macOS 人机界面指南中,Apple 要求
通常,禁用面板上的最小化按钮。面板不需要最小化,因为它只在需要时显示,并在应用程序处于非活动状态时消失。然而,关闭按钮——在某些情况下,缩放按钮——应该被启用。
那么在创建 NSSavePanel 时如何遵循这些准则呢?