1

在我们基于 Cocoa NSDocument 的应用程序中,我们在上下文菜单上有一个 Save (saveDocument:) 按钮,但我们希望菜单项的文本根据 NSDocument 的情况而改变,就像主菜单 Save (saveDocument:) 菜单项更改。有谁知道更新此菜单项文本的干净解决方案,理想情况下调用主菜单使用的相同 Cocoa 功能?

细节:

基于 Cocoa NSDocument 的应用程序的主菜单通常有一个 Save 菜单项,它会触发 First Responder - saveDocument:。此菜单项的标题会根据文档的情况而变化,例如:

  • 在 Lion (OS X 10.7) 中,菜单项文本以“保存”开始,但变为“保存版本”(例如,在保存文档之后)。
  • 在 Mountain Lion (OS X 10.8) 中,菜单项文本以“保存...”开始,但因为“保存”(例如,在文档保存后)。

在我们的应用程序中,我们显示了一个带有保存菜单项的上下文菜单,因此我们希望文本以与主菜单中相同的方式更改(如上所列)。我们不想编写包含复杂逻辑的代码(检查 NSDocument...检查 OSX 版本并相应地显示一个字符串),我们真的希望能够调用 Cocoa 主菜单使用的相同代码更改菜单项标题。

4

0 回答 0