2012-05-23 41 views
2

我有一個Login.xib和一個Main.xib,並且如果您將令牌存儲到一個文件中,則只需登錄一次即可。 如果帶有令牌的這個文件存在,我想顯示主窗口而不是登錄,因爲我已經知道它是哪個用戶。在啓動mac應用程序時在Windows之間決定

我在哪裏以及如何決定我應該顯示哪個窗口?

回答

2

我會檢查您的應用程序代理中是否存在此文件applicationDidFinishLaunching:方法。

如果文件存在,則顯示主窗口,否則顯示登錄窗口。

編輯

在回答您的意見,您需要考慮使用NSWindowController類。基本上你會有一個NSWindowController對象你想要控制的每個窗口。

您還需要在應用程序中更改一些內容,以更改加載主窗口的默認行爲,這取決於您是否製作基於文檔的應用程序而有所不同。

如果您的應用程序不是基於文檔的,您的應用程序「知道」加載main.xib,因爲它在應用程序的info.plist文件中設置。基本上,當你的應用程序啓動時,它會在info.plist文件中查找哪個nib需要加載並加載它。通常,主筆尖包含一個菜單和一個窗口。只需刪除該窗口並在一個單獨的筆尖重新創建該窗口,以便默認停止加載該窗口。

如果您的應用程序是基於文檔的,那麼情況會有所不同。你將有一個NSDocument子類,它應該有一個名爲windowNibName的方法,它返回要加載的nib文件的名稱。刪除此方法,而是覆蓋makeWindowControllers以返回您的NSWindowController對象。 有一點比它更多,但this應該讓你開始,其餘的超出了你的原始問題的範圍。

+0

謝謝,但我怎麼能決定,它不應該加載主窗口? – Nicolas

相關問題