【问题标题】:Menu bar icon disappears after window resize调整窗口大小后菜单栏图标消失
【发布时间】:2018-03-04 00:37:07
【问题描述】:

我在 Xcode 中创建了默认的 Cocoa macOS 项目并修改了 AppDelegate 以便它添加一个菜单栏图标并使应用程序窗口全屏显示。取而代之的是窗口正常显示,并且菜单栏图标(应该是 T)在 macOS 状态栏中快速闪烁并消失。如果我注释掉 applicationDidFinishLaunching 中的代码,菜单栏图标就会起作用。如果我删除 awakeFromNib 并且不创建状态项,则应用程序将变为全屏。如果我尝试同时做这两件事,那是行不通的,我真的很想知道我做错了什么。这是我的 AppDelegate.swift 文件的主要部分:

var item = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength)

override func awakeFromNib() {
    let menu = NSMenu(title: "W")
    menu.addItem(NSMenuItem(title: "Quit", action: #selector(AppDelegate.quit), keyEquivalent: ""))

    item.title = "T"
    item.menu = menu
}

func applicationDidFinishLaunching(_ aNotification: Notification) {
    let window = NSApplication.shared.windows.first!
    window.setFrame(NSScreen.main!.frame, display: true)
}

【问题讨论】:

  • “菜单栏图标(应该是T)在macOS状态栏中快速闪烁并消失”我在任何地方都没有看到您所说的图标。
  • 你的 NSMenu IBOutlet 对象在哪里?
  • 我不需要,因为我在 awakeFromNib 中创建了一个新的 NSMenu。

标签: ios swift macos swift4


【解决方案1】:

结果

let window = NSApplication.shared.windows.first!

不返回应用程序窗口,但似乎返回菜单图标。我把它改成了

let window = NSApplication.shared.windows[1]

它成功了。

【讨论】:

    猜你喜欢
    • 2021-10-18
    • 2023-03-13
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多