我現在有針對在awakeFromNib
這樣初始化的狀態欄的NSStatusItem
:實施NSPopover上NSStatusItem
statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[statusItem setMenu:statusMenu];
[statusItem setImage:statusImage];
[statusItem setAlternateImage:statusHighlightedImage];
[statusItem setHighlightMode:YES];
[statusItem setTarget:self];
我有一個NSMenu
點擊圖標時打開。其中一個選項被點擊後,應該從狀態欄圖標打開NSPopover
。要做到這一點,我有這樣的代碼,它通過接口生成器連接到菜單項:
- (IBAction)prefs:(id)sender {
NSRectEdge prefEdge = NSMaxYEdge;
[[self pop] showRelativeToRect:[[statusItem view] bounds]
ofView:[statusItem view]
preferredEdge:prefEdge];
}
然而,當我單擊要打開酥料餅的菜單項,沒有任何反應。有什麼特別的原因可能會導致這種情況?據我所知,應該可以做到。
在此先感謝。我通過堆棧溢出來查看最好的,但如果有一個真正重複的問題,請把我連接到它。
供參考:該statusItem
變量是NSStatusItem
。
您應該添加的代碼爲'NSMenu' – NSAddict
那是'-prefs:'方法獲取調用? '[self pop]'和'[statusItem view]'是否爲非零? – paulmelnikow
@noa是對的,嘗試記錄一些內容,並檢查'self.pop'是否返回'nil'。 – NSAddict