swift - 如何在 mac os 的菜单栏应用程序中显示两行文本

标签 swift macos swift3

你能向我解释一下如何在 osx 上制作一个应用程序(使用 swift 3)只显示(dock 上没有图标)菜单栏中的两行文本,如下图所示?或者至少如何在菜单栏上显示文本?

OSX 菜单栏图片: osx menu bar picture

PS:我是 osx app dev 的新手,所以不要犹豫,非常冗长;)

最佳答案

  • 这种应用称为菜单栏应用或menulet。
  • dockless 外观由 Info.plist 中的键 LSUIElement (1) 设置
  • 使用自定义 NSView
  • 将 View 作为 subview 分配给 NSStatusItem 的按钮 View
  • drawRect中绘制文字

重要提示:使用自定义 View 需要实现所有方法来处理突出显示、鼠标单击和 NSMenu 委托(delegate)。

这是一篇如何做到这一点的文章,它在 Objective-C 中,但这可能是一个起点:
Adding a Custom View to an NSStatusItem

关于swift - 如何在 mac os 的菜单栏应用程序中显示两行文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41189763/

相关文章:

string - 为什么我不能在类定义中插入字符串?

swift - 从导航数组中删除以前的 Controller

ios - 在 Swift 中执行 Restkit addFetchRequestBlock 以删除孤儿

java - Mac 小程序 UI 上的组合框问题

ios - 禁用不同 ViewController 中的按钮 - Swift 3

ios - 将 UITextView 滚动到特定文本

java - Java 7 和 Java 8 可以在 OSX 上共存吗

objective-c - 在并发队列中使用dispatch_semaphore_t发生死锁

ios - 存储在枚举中的变量的动态值

swift - 使用 Swift 3 调试 Firebase