2009-11-15 85 views
1

在啓動應用程序後應該調用哪些方法以在其中啓動applicationDidFinishLaunching:委託方法已被調用?或者,也許有更好的地方做到這一點?針對NSApplicationdeactivate方法的文檔說,我不應該直接調用此方法,因爲AppKit知道如何停用某些東西。在Cocoa中啓動後取消激活代理應用程序

回答

1

也許使用-[NSApplication hide:]會工作,或者也許激活另一個應用程序使用-[NSRunningApplication activateWithOptions:](僅10.6,tho)。不過,我並沒有預見到使用deactivate:時會遇到很多問題。

+0

我想我會嘗試使用NSRunningApplication方法。感謝一堆! – Eimantas 2009-11-16 10:39:31

1

目前尚不清楚你想要達到的目標。

您可以使用-hide:停用您的應用。我也會毫不猶豫地使用-deactivate,如果它實際上滿足您的需求。這只是正常應用程序不明確停用自己;我認爲這就是文檔所說的。

但是,如果您在Info.plist中設置了LSUIElement,則應用程序在啓動時不應變爲活動狀態;它也不會有菜單欄或停靠欄圖標。

+0

啓動後,應用程序確實變爲活動狀態,因爲我添加了全局事件監視器,並且每次按全局事件監視器中註冊的全局鍵時都會發出蜂鳴聲。 全局事件監視器在活動時不會將事件路由到應用程序。對? – Eimantas 2009-11-16 10:38:59

相關問題