0

我正在尝试编写拖放菜单栏应用程序。我使用自定义视图来访问删除的文件,这很好用。现在我想在单击此视图时打开默认菜单。我正在使用这个:

- (void)mouseDown:(NSEvent *)event {
   [statusItem popUpStatusItemMenu:statusMenu];
}

现在,mouseDown工作正常(尝试使用 NSLog),但我仍然无法访问statusItemstatusMenu

这是在dropView.m,在dropView.h我得到:

@interface dropView : NSView{
    IBOutlet NSMenu *statusMenu;
    NSStatusItem *statusItem;
}

没有崩溃,没有日志……有什么想法吗?泰!

这比 .m 多一点

- (void)awakeFromNib{
    statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
    [statusItem setMenu:statusMenu];
    dropView *drop = [[dropView alloc] initWithFrame:NSMakeRect(0, 0, 24, 24)];
    [statusItem setView:drop];
}
4

1 回答 1

0

将此添加到您的 .h 文件中:

@property (strong, nonatomic) IBOutlet NSMenu *statusMenu;
@property (strong, nonatomic) NSStatusItem *statusItem;

将此添加到您的 .m 文件中:

@synthesize statusMenu, statusItem;

然后,您将使用self.statusMenu和访问属性self.statusItem

于 2012-07-24T14:55:00.363 回答