面试题答案
一键面试- 创建菜单栏:
- 在
AppDelegate.m
文件中,首先获取应用程序的主菜单栏。可以通过NSApp
的mainMenu
属性来操作菜单栏。如果菜单栏不存在,需要创建一个新的NSMenu
对象。
NSMenu *mainMenu = [[NSMenu alloc] initWithTitle:@"MainMenu"]; [NSApp setMainMenu:mainMenu];
- 在
- 创建菜单:
- 创建一个
NSMenu
对象来表示具体的菜单(比如 “文件” 菜单)。
NSMenu *fileMenu = [[NSMenu alloc] initWithTitle:@"File"]; [mainMenu addItemWithTitle:@"File" action:nil keyEquivalent:@"" submenu:fileMenu];
- 创建一个
- 创建菜单项:
- 在创建的菜单(如
fileMenu
)中添加菜单项。使用NSMenuItem
类来创建菜单项。
NSMenuItem *newMenuItem = [[NSMenuItem alloc] initWithTitle:@"New" action:@selector(newMenuItemClicked:) keyEquivalent:@"n"]; [fileMenu addItem:newMenuItem];
- 在创建的菜单(如
- 添加点击响应事件:
- 为菜单项定义点击响应的方法。在
AppDelegate.h
文件中声明方法:
- (void)newMenuItemClicked:(id)sender;
- 在
AppDelegate.m
文件中实现该方法:
- (void)newMenuItemClicked:(id)sender { NSLog(@"New menu item clicked!"); }
- 为菜单项定义点击响应的方法。在
- 将菜单项与响应方法关联:
- 在创建菜单项时,通过
action
参数指定响应的方法,如上述创建newMenuItem
时设置action:@selector(newMenuItemClicked:)
,这样当点击菜单项时就会调用相应的方法。
- 在创建菜单项时,通过
这样就完成了在 Mac OS 应用中使用 Objective - C 创建简单菜单栏并为菜单项添加基本点击响应事件的操作。