你如何指定哪个 NSMenu 是 XIB 文件中的主菜单?
How can you specify which NSMenu is the main menu in a XIB file?
长期 iOS 开发人员,他正在涉足 macOS 世界。只是想更好地了解 Mac 应用程序的工作原理。
对于基于 XIB 的非故事板应用程序,模板会创建一个默认的 xib,里面是应用程序的主菜单。
但是,如果我删除那个 XIB,然后创建一个新的,我该如何设置一个菜单作为应用程序的主菜单?它似乎忽略了我创建的任何内容。另外,当我添加一个时,图形看起来与原始图形不同;这里是垂直堆叠的,而原来的是水平堆叠的。
那么,如何创建第二个 xib(以防你删除了第一个)并替换其中的主菜单?
您必须执行两个步骤才能将主菜单更改为另一个 XIB 文件中的菜单:
- 更改主界面 部署信息中的常规选项卡Target 将您的应用程序指向新的 XIB 文件。
打开新 XIB 文件的源代码并搜索新的主菜单。这是一个名为 menu
的 XML 标签。添加一个名为 systemMenu
且值为 main
的属性。这应该看起来像:
<menu title="Second Menu" systemMenu="main" id="usV-GH-tFG" userLabel="New Main Menu">
现在,您的应用程序应该使用新的主菜单作为系统菜单。某些子菜单还应具有 systemMenu
属性,其值为 apple
、services
、recentDocuments
、font
或 window
。如果您进行了此更改,Interface Builder 中的显示也会更改。
构建新菜单需要一些努力,因为您必须创建相当多的子菜单和条目。
但是这种方式很容易出错,所以你最好通过复制现有的主菜单来创建一个新的主菜单。
长期 iOS 开发人员,他正在涉足 macOS 世界。只是想更好地了解 Mac 应用程序的工作原理。
对于基于 XIB 的非故事板应用程序,模板会创建一个默认的 xib,里面是应用程序的主菜单。
但是,如果我删除那个 XIB,然后创建一个新的,我该如何设置一个菜单作为应用程序的主菜单?它似乎忽略了我创建的任何内容。另外,当我添加一个时,图形看起来与原始图形不同;这里是垂直堆叠的,而原来的是水平堆叠的。
那么,如何创建第二个 xib(以防你删除了第一个)并替换其中的主菜单?
您必须执行两个步骤才能将主菜单更改为另一个 XIB 文件中的菜单:
- 更改主界面 部署信息中的常规选项卡Target 将您的应用程序指向新的 XIB 文件。
打开新 XIB 文件的源代码并搜索新的主菜单。这是一个名为
menu
的 XML 标签。添加一个名为systemMenu
且值为main
的属性。这应该看起来像:<menu title="Second Menu" systemMenu="main" id="usV-GH-tFG" userLabel="New Main Menu">
现在,您的应用程序应该使用新的主菜单作为系统菜单。某些子菜单还应具有 systemMenu
属性,其值为 apple
、services
、recentDocuments
、font
或 window
。如果您进行了此更改,Interface Builder 中的显示也会更改。
构建新菜单需要一些努力,因为您必须创建相当多的子菜单和条目。
但是这种方式很容易出错,所以你最好通过复制现有的主菜单来创建一个新的主菜单。