【问题标题】:NSOpenPanel - title not displayed and window not closing [duplicate]NSOpenPanel - 标题未显示且窗口未关闭 [重复]
【发布时间】:2017-04-26 16:53:25
【问题描述】:

我正在构建一个工具栏应用程序,其菜单包含一个显示 NSOpenPanel 的选项,以便让用户选择一个文件夹。 它工作正常,只是标题没有显示在 NSOpenPanel 上,并且在点击“确定”按钮后我必须使用一种棘手的方法来关闭窗口。

这是我的代码:

let dialogue = NSOpenPanel()
                dialogue.title                   = "Choisissez un répertoire"
                dialogue.canChooseFiles          = false
                dialogue.showsResizeIndicator    = true
                dialogue.showsHiddenFiles        = false
                dialogue.canChooseDirectories    = true
                dialogue.canCreateDirectories    = false
                dialogue.allowsMultipleSelection = false
                dialogue.allowedFileTypes        = [""]

    if (dialogue.runModal() == NSModalResponseOK) 
    {

                    let result = dialogue.url

                    dialogue.setIsMiniaturized(true)
                    dialogue.setIsVisible(false)
                    dialogue.close()

                    if (result != nil)
                    {
                      let path = result!.path

                    }
                    else
                    {
                      return
                    }
    }

虽然已配置,但我还没有找到显示标题的方法。 我必须在关闭 NSOpenPanel 之前使用 setIsMiniaturized(true) 和 setIsVisible(false) 否则它只会在进程结束时关闭。

任何帮助将不胜感激。

【问题讨论】:

  • 是的,是同一个帖子。我想我在搜索过程中错过了它。我已经对其进行了测试,并且效果很好。谢谢。

标签: swift macos nsopenpanel


【解决方案1】:

自 OSX 10.11 起不再显示标题。如果您确实需要显示一些文本,可以滥用message 属性:

let fileDialog = NSOpenPanel()
fileDialog.message = "Your message"

【讨论】:

  • 谢谢你。我应该为第二个问题(关闭窗口)打开另一个帖子吗?
猜你喜欢
  • 1970-01-01
  • 2018-11-21
  • 2021-05-19
  • 1970-01-01
  • 1970-01-01
  • 2020-08-25
  • 2017-02-01
  • 2017-10-02
  • 1970-01-01
相关资源
最近更新 更多