macos - 如何在 OS X Yosemite 中开发状态栏应用程序?

标签 macos cocoa nsstatusitem osx-yosemite

我一直在尝试为 Yosemite 开发一个状态栏应用程序,这是我的第一个 OS X 应用程序,但是当我搜索该文档时,NSStatusItem 文档显示几乎所有属性其中的方法(例如 .title.highlightMode.image)在 OS X 10.10 中已弃用。

所以我想知道如何为 Yosemite 创建状态栏应用程序。我从 Dash 找到了这些文档,但奇怪的是 Apple's documentation尚未使其被弃用。但我知道他们更新文档的速度通常很慢,尽管我想知道 Dash 是如何以及从哪里获得这些看似更新的信息的……

那么哪个是正确的呢?如果它被弃用了,我在哪里可以找到Yosemite风格的状态栏开发资源?

我使用 Xcode 6.1 Beta 和 Swift。

最佳答案

在 10.10 中,NSStatusItem 有一个新的 button 属性,该属性返回新类的实例,NSStatusBarButton 继承自 NSButton。这是应该使用的,而不是在状态项上设置自定义 View 。 NSStatusItem 已弃用的方法只是转发到按钮的相应方法。

请参阅头文件(NSStatusItem.h 和 NSStatusBarButton.h)以获取最新且准确的文档。预发布类引用似乎不完整。 10.10 AppKit release notes 中对这些更改进行了一些简短、间接的提及。 .

关于macos - 如何在 OS X Yosemite 中开发状态栏应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25807246/

相关文章:

macos - 在应用程序之外测试帮助手册

objective-c - NSView/CALayer 减法掩码

objective-c - NSStatusItem 右键菜单

Cocoa - 捕获 NSStatusItem 鼠标悬停事件

python - 为什么 SafariDriver 不能点击特定元素,而 Chrome、FF、Edge 可以?

c - Mac OS X 10.7 (Lion) 中的 Nano 语法突出显示?

c++ - 如何在不将 'screen' 连接到终端的情况下运行它,以便我可以在 C++ (qt) 应用程序中捕获输出?

macos - Inkscape导出窗口未显示?

cocoa - NSTextField 在按 Tab 时没有注意到失去焦点?

objective-c - 获取基于非 View 的 NSStatusItem 的屏幕位置