【问题标题】:How to hide Open and Save document features in a Document Based application?如何在基于文档的应用程序中隐藏打开和保存文档功能?
【发布时间】:2017-05-15 10:31:31
【问题描述】:

与 Safari 应用程序一样,在 macOS Swift 项目中,我想让用户打开的不仅仅是一个窗口,并且可能使用选项卡式浏览从一个窗口切换到另一个窗口。该应用程序以空白窗口开始,不需要保存或打开文档。

基于文档的应用程序对我来说似乎比处理窗口更完美,但我不希望用户必须处理文档。如果可能,如何禁用或隐藏打开和保存文档功能?

编辑:如果可能,我也想禁用此弹出窗口:

【问题讨论】:

    标签: swift macos nsdocument


    【解决方案1】:

    这非常简单 - 只需从 XIB 菜单中删除(删除)打开、打开最近...、保存、另存为...菜单项。如果您不想要标题栏,只需在 XIB 中取消选中窗口的“标题”复选框,尽管这会使窗口难以移动。

    如果你有一个标题栏,要覆盖“无标题”,你可以

    override var displayName: String! {
        get {
            return "Anything you like, even \"\""
        }
        set {
    
        }
    }
    

    但是,这仍然允许通过 V 形访问另存为菜单。要抑制这种情况,您需要 NSWindowDelegate Docs

    窗口(_:shouldPopUpDocumentPathMenu:) 询问代理窗口是否显示标题弹出菜单以响应对其标题的 Command-click 或 Control-click。

    【讨论】:

    • 嗨 Grimxn,谢谢你的回答,你知道是否有可能隐藏标题栏中的弹出菜单吗? (我编辑了问题以包括这个)
    • shouldPopUpDocumentPathMenu: 抑制了右键单击路径弹出窗口,而不是 V 形重命名/移动弹出窗口。 How to disable NSDocument's window title popup
    【解决方案2】:

    只需在 true 处添加 autosavesInPlace

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-25
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      相关资源
      最近更新 更多