【发布时间】:2013-06-15 14:45:23
【问题描述】:
我有一个带有 Xcode 4.6.2 的简单 cocoa coredata 状态栏应用程序。
在我的AppController.h 我有
@interface AppController : NSObject
@property NSStatusItem *statusItem;
@property IBOutlet NSMenu *statusMenu;
在我的AppController.m:
@synthesize statusItem = statusItem;
@synthesize statusMenu = statusMenu;
-(void)awakeFromNib{
statusItem = [[NSStatusBar systemStatusBar]statusItemWithLength:NSVariableStatusItemLength];
statusItem.menu = statusMenu;
}
那么,在我的AppDelegate.m 中有一个函数:
#import "AppController.h"
-(IBAction)someAction:(id)sender{
//code to do something
AppController *x = [[AppController alloc]init];
[x.statusMenu cancelTracking];
}
我想通过一个按钮关闭菜单,该按钮在 NSMenuItem 的自定义视图中执行操作(从 Connection Inspector->Outlets->view ctrl+拖动到按钮)。我无法为 NSButton 选择 2 个不同的已发送操作,因此我必须从 AppDelegate 类中的 IBAction someAction 关闭 AppController 类中声明的菜单。怎么做?我发布的代码不起作用。 提前致谢
【问题讨论】:
标签: xcode cocoa custom-view nsmenuitem nsmenu