2012-07-24 55 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