【问题标题】:NSOpenPanel - exclude startup diskNSOpenPanel - 排除启动盘
【发布时间】:2021-11-28 13:58:46
【问题描述】:

使用 NsOpenPanel,我想从对话框中排除启动盘(灰色)。如果不可能,我想获取启动磁盘的路径(大多数情况下是“/Volumes/Macintosh HD”,但并非总是如此)作为 URL。我在网上没有找到任何与启动盘和swift相关的东西。有人可以帮助我吗?谢谢。

【问题讨论】:

    标签: swift macos cocoa nsopenpanel


    【解决方案1】:

    首先启动盘的路径总是/

    在面板中禁用 URL 采用NSOpenSavePanelDelegate 并实现

    func panel(_ sender: Any,
               shouldEnable url: URL) -> Bool {
        return url.path != "/"
    }
    

    【讨论】:

    • 感谢您的回答。好吧,这就是为什么我说的是启动盘而不是根文件夹。我想将它与以“/Volumes/...”开头的 url 进行比较,但我不能使用根路径。 NSOpenSavePanelDelegate 解决方案似乎非常合适。我会告诉你。谢谢。
    • 根文件夹等于当前启动盘的路径
    • 在选择根文件夹时,我应该早点查看对话框的答案。我会注意到答案是“/”,我只需要设置一个条件来拒绝它。实施 NSOpenSavePanelDelegate 是一个更好的答案,但我没有找到完整的例子来正确地做到这一点。有什么建议吗?干杯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多