0

默认情况下,AppKitNSSavePanel具有以下标准窗口按钮(左上角的圆形按钮):

  • 关闭(最左边)禁用
  • miniaturize (middle)禁用
  • 缩放(右 ,绿色)启用在此处输入图像描述

禁用缩放按钮也很容易(我们不希望这样,只是表明我们使用了正确的 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 时如何遵循这些准则呢?

4

0 回答 0