首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode NSStatusBar项目未出现

Xcode NSStatusBar项目未出现
EN

Stack Overflow用户
提问于 2019-02-20 02:04:05
回答 2查看 390关注 0票数 2

我正在尝试向状态栏添加一个项目,但当我启动应用程序时,该项目只会在左上角出现一瞬间,然后很快就会消失。

我已经看过文档了,我可以看到最近发生了一些变化,比如statusItem.title变成了statusItem.button?.title。但似乎不会遗漏任何其他东西。有什么帮助吗?

下面是我的代码:

代码语言:javascript
复制
var statusItem : NSStatusItem? = nil

    func applicationDidFinishLaunching(_ aNotification: Notification) {
        // Insert code here to initialize your application

        let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)
        statusItem.button?.title = "Connect!"

}
EN

回答 2

Stack Overflow用户

发布于 2019-02-20 04:11:02

啊太棒了。这已经成功了!谢谢萨利赫。在使用了我们的两个代码之后,我的代码似乎可以在顶部使用var声明,但没有NSMenuDelegate实例。我的问题似乎是我在说:

让statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)

我要做的就是去掉“let”,然后说:

statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength)

票数 2
EN

Stack Overflow用户

发布于 2019-02-20 03:04:05

NSMenuDelegate

  • Define
  1. AppDelegate应该是在创建时设置statusItem的实例
  2. 在applicationDidFinishLaunching回调中设置按钮标题

NSStatusBar.system.statusItem(withLength:NSStatusItem.variableLength):NSImage(named:NSImage.Name("StatusBarButtonImage")) AppDelegate: NSObject,NSApplicationDelegate,NSMenuDelegate { let statusItem =applicationDidFinishLaunching函数通知(_ aNotification: NSMenuDelegate){ if let statusItem=applicationDidFinishLaunching{ //button.image =NSImage(named:NSImage.Name(“StatusBarButtonImage”))AppDelegate= "connect“//button.action =# button.title (doSomething(_:))} }

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54772386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档