代码之家  ›  专栏  ›  技术社区  ›  deadcoder0904

Cocoa-Swift:将主菜单连接到Preferences窗口控制器&禁用属性检查器中的最小化之类的项在Xcode中不起作用?

  •  0
  • deadcoder0904  · 技术社区  · 7 年前

    & 退出

    点击后 偏好 它将打开一个新窗口,但不显示菜单栏

    我试着从主菜单连接到窗口控制器,但它不工作。

    我使用Ctrl+drag将它从应用程序名拖到窗口控制器或视图控制器,但仍然不起作用。

    甚至最大化;最小化复选框已禁用,但仍在显示。

    2 回复  |  直到 7 年前
        1
  •  2
  •   James Bucanek    7 年前

    看到了吗 NSApplication.activationPolicy

    如果你想让应用程序的主菜单栏出现,你需要更改 activationPolicy NSApplicationActivationPolicyRegular . 一旦你这样做,应用程序的主菜单将出现时,你的应用程序是活跃的(它也会出现在码头上。)

    如果您只希望在“首选项”窗口打开时发生这种情况,则需要更改 激活策略 当窗口打开时,然后在关闭时将其重新设置。

        2
  •  1
  •   deadcoder0904    7 年前

    视图控制器 而不是我的 所以没用。

    我还检查了一些应用程序,比如Dropbox,它没有主菜单栏,因为它是一个背景或附件应用程序,所以我放弃了它。

    一些应用程序如 Focus

    至于不调整大小,不最小化&没有最大化去,我贴在下面的代码&成功了

    var myWindow: NSWindow? = nil
    myWindow?.styleMask.remove(NSWindow.StyleMask.resizable)
    myWindow?.standardWindowButton(.miniaturizeButton)?.isEnabled=false
    myWindow?.standardWindowButton(.zoomButton)?.isEnabled=false