如何在没有 .xib 或故事板文件的情况下向应用程序添加菜单?
Posted
技术标签:
【中文标题】如何在没有 .xib 或故事板文件的情况下向应用程序添加菜单?【英文标题】:How to add a menu to an application without .xib or storyboard file? 【发布时间】:2015-08-31 12:56:12 【问题描述】:我的应用程序没有可用的菜单栏。菜单栏中只有应用程序名称。由于我的 .xib 文件中没有相关窗口,因此无法以这种方式链接它。虽然菜单包含在 .xib 文件中。
我尝试了许多不同的解决方案,例如:
[[NSApplication sharedApplication] setMenu:mainMenu];
但他们根本没有工作。没有菜单出现,像往常一样只有应用程序名称。
我将不胜感激所有可能的帮助:)
干杯!
【问题讨论】:
【参考方案1】:如果您在 XIB 中有菜单,但您的菜单类未链接(看不到类值),则:
打开 xib 文件 -> 选择 View Controller -> 显示实用程序面板(右侧菜单)-> 选择 Identity Inspector 选项卡 -> 将“类”编辑为 xxx
其中 xxx 是您的班级名称。
如果您不使用任何情节提要或任何包含主应用程序窗口的 xib 文件,则:
您必须在 AppDelegate.m->AppDidFinishLoading 方法中手动添加 UIWindow。
将根视图控制器设置为该 UIWindow:
[window setRootViewController:[self mainView]];
[window makeKeyAndVisible];
【讨论】:
没有一个方法叫 setRootViewController :(以上是关于如何在没有 .xib 或故事板文件的情况下向应用程序添加菜单?的主要内容,如果未能解决你的问题,请参考以下文章
没有使用 Swift 的故事板或 xib 文件的 OSX 应用程序