Xcode有一個非常漂亮的屏幕,當你第一次啓動時就會出現;它會顯示您最近的項目以及爲您提供的資源,但只有在您啓動文檔時沒有打開文檔時纔會顯示。我想要一個類似的(儘管不那麼複雜)的歡迎屏幕。我已經在.nib文件中設計了它,但是我想知道當用戶打開應用程序時,如果沒有以前打開過的文檔,我該如何編寫它。如果在應用程序啓動時沒有文檔處於打開狀態,在啓動時如何顯示歡迎屏幕?
這裏我指的是(顯示我最近的項目)屏幕:
Xcode有一個非常漂亮的屏幕,當你第一次啓動時就會出現;它會顯示您最近的項目以及爲您提供的資源,但只有在您啓動文檔時沒有打開文檔時纔會顯示。我想要一個類似的(儘管不那麼複雜)的歡迎屏幕。我已經在.nib文件中設計了它,但是我想知道當用戶打開應用程序時,如果沒有以前打開過的文檔,我該如何編寫它。如果在應用程序啓動時沒有文檔處於打開狀態,在啓動時如何顯示歡迎屏幕?
這裏我指的是(顯示我最近的項目)屏幕:
我假設OS X的[NSUserDefaults standardUserDefaults]
以同樣的方式在iOS上,在這種情況下,你可以這樣做:
if (![[NSUserDefaults standardUserDefaults] objectForKey:@"opened"]) {
//load your special view here; no documents have been opened;
}
else {
//open up some previously opened document.
}
當文檔被打開,你可以這樣做:
[[NSUserDefaults standardUserDefaults] setObject:@"" forKey:@"opened"]; //doesn't matter what you set as long as something is set.
然後,如果你想將其復位(當然,如果所有文件都關閉),你可以這樣做:
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"opened"];
不承擔任何責任。 OS X是完全不同的野獸。如果你像我一樣來自iOS,那麼所有東西都會花費100倍的時間,最終你會在Apple的開發者庫中找到20個打開的瀏覽器標籤,試圖找出如何完成一項簡單的任務...... – 2013-09-20 06:19:47
我也很想有一個明確的,後獅子兼容,最佳實踐回答了這個共同的行爲。 NSApplicationDelegate已經如此複雜,然後你有「恢復」,自動終止等...... – 2013-09-20 06:21:15