2010-07-09 35 views
1

有無法檢測NSDocument的焦點/無焦點嗎?我想動態更新與活動文檔有關的菜單項,但是我看不到任何明顯的做法。檢測活動NSDocument的焦點/無焦點

原因是,我想激活,然後在文檔焦點上填充菜單,然後在失去焦點時取消填充和停用。

任何想法?

感謝,

回答

3

它出現在NSDocument設置爲代表所有的文檔窗口,因此,在我NSDocument子類所需的掛鉤是:

- (void) windowDidBecomeMain: (NSNotification *) notification 
{ 
    NSLog(@"windowDidBecomeMain:");  
} 


- (void) windowDidResignMain: (NSNotification *) notification 
{ 
    NSLog(@"windowWillResign:");   
} 


- (void) windowWillClose: (NSNotification *) notification 
{ 
    NSLog(@"windowWillClose:"); 
} 
+0

這是我用爲好。 – Leibowitzn 2010-07-09 22:37:51

+0

['NSDocumentController.currentDocument'](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSDocumentController_Class/#//apple_ref/occ/instp/NSDocumentController/currentDocument)已定義as *「與主窗口關聯的文檔對象。(只讀)」*。所以我認爲這是正確的。 – Eonil 2015-02-19 07:56:56

+0

只是一個說明。這似乎並沒有總是發生。例如,最初專注於應用程序啓動的窗口不會觸發事件... – Eonil 2015-02-19 08:45:09