2009-08-31 243 views
0

我有一個IPhone應用程序,我想在顯示UI之前嘗試登錄並執行一些初始設置。我目前有我的Default.png設置爲圖像,我有一個視圖具有相同的圖像。當我的應用程序加載Default.png加載,然後加載我的加載屏幕。加載屏幕是MainWindow.xib中我的根視圖控制器的視圖。加載我的應用程序後,將顯示一個標籤欄控制器,它是在根視圖控制器中以編程方式創建的。IPhone - 從加載屏幕動畫到主應用程序視圖

我希望能夠在加載視圖(在MainWindow.xib中定義)和我的標籤欄控制器(在根視圖控制器中定義)之間進行動畫處理。我只是在做

self.view = tabBarController.view; 

切換視圖。我注意到,用UIView動畫包裝時不起作用。我的問題是我應該如何切換視圖。我嘗試了addSubView和insertViewAtIndex,這兩個都做動畫,但在屏幕頂部留下20px狀態欄空白(位於已經存在的狀態欄下方)。我假設有一些簡單的東西,但我不確定它是什麼。

回答

1

你不應該做self.view = tabController.view ...你想要什麼類型的動畫?你有沒有考慮過使用NavigationViewController?推送到NavigationController的大頭貼將允許您爲過渡動畫(推入新視圖)。如果您沒有使用導航視圖控制器,您可以使用其他選項:在UIViewController中使用presentModalView:動畫方法,還可以在使用addSubview時定義動畫,蘋果站點中的節拍器示例項目顯示如何在單擊info按鈕時進行操作繼承人鏈接https://developer.apple.com/iphone/library/samplecode/Metronome/。希望這可以幫助

+0

我不應該爲動畫做self.view = tabController.view - 還是永遠不會?過去我一直在處理我的觀點。我這樣做是因爲我基本上希望我的根視圖控制器是一個標籤欄控制器。我遇到了addSubView的問題 - 比如視圖頂部的20px狀態欄空白。 – Brian 2009-08-31 14:45:24

+0

我沒有想過使用導航控制器來管理多個視圖,當我不深究某些東西時。這是常見的做法嗎? – Brian 2009-08-31 14:47:57

+0

我不認爲它的好做法是做self.view =其他一些視圖...... 20px狀態欄的差距可能是由於您的視圖具有可能會混淆UI系統的影響(460中的一部分和480中的一部分) 。是的,這是非常普遍的做法,使用導航控制器深入到多個視圖,你可以看到它在任何地方都可以使用 – Daniel 2009-08-31 15:08:09

0

我只需要將您用於Default.png圖像的UIImageView放置爲主UI視圖的最頂層子視圖。換句話說,馬上顯示您的主界面,但在其前面加載圖像。然後,無論您喜歡如何,都可以通過將其alpha屬性更改爲0來爲加載圖像設置動畫效果,或通過其變形來縮小它的大小。

相關問題