2012-07-24 52 views
0

我试图编码拖动&删除菜单栏应用程序。我使用自定义视图来访问被删除的文件,并且工作正常。现在我想在点击这个视图时打开默认菜单。我使用这个:mouseDown问题的自定义视图的菜单栏应用

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

目前,鼠标按下工作正常(与NSLog的努力),但我仍然无法访问statusItem状态菜单

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

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

没有崩溃,没有日志...任何想法? TY!

这是从.M

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

尝试'self.statusItem' – Dustin 2012-07-24 14:28:30

+0

否认这个给与错(找不到属性) – 2012-07-24 14:39:25

+0

你是否综合了属性? – Dustin 2012-07-24 14:46:04

回答

0

添加到您的.h文件中多一点:

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

添加到您的.m文件:

@synthesize statusMenu, statusItem; 

然后,您将通过self.statusMenuself.statusItem访问属性。

+0

尚未更改...:/ – 2012-07-24 15:05:27

+0

错误?如果没有错误,那么'NSLog'变量。 – Dustin 2012-07-24 15:07:25

+0

2012-07-24 17:15:27.482 CopyDrop [14728:403] statusMenu:(null) statusItem:(null) – 2012-07-24 15:15:40