如何爲Iphone應用創建啓動界面

     本教程介紹瞭如何爲Iphone應用創建啓動界面。是在這篇文章的基礎上翻譯、修改而來,謹此感謝原作者。

     在Xcode中新建工程,使用“Single View Application”模版,命名爲Splash。不使用storyboard,不使用ARC。

    選擇工程中的“ViewController.xib”文件,將View的背景色更改爲白色,使用Command + Run組合鍵運行工程,程序啓動後你將會先看見一個黑色界面,然後是白色界面。

   將下面的圖片下載下來,導入到你的工程,更名爲Default.png。

    再次運行你的工程,你就會發現這張圖片成了你的程序的啓動界面。是的,就是這麼簡單,如果你有足夠的好奇心,我會告訴你這背後的機理:系統會在你的程序代碼完全地加載進內存之前給用戶顯示些東西,它默認就是顯示名稱爲Default.png的圖像文件。如果你沒有提供這個文件,那它就什麼也不顯示,其實這麼說也不對,它顯示了黑色——沒有光的時候,天就成了黑色。

    以上啓動界面顯示一下就直接進入應用首頁了,啓動界面的顯示時間不受我們控制。程序員的代碼控制慾都很強,哈哈,比如我們希望啓動界面顯示2~3秒後再進入應用 首頁,以給我們的應用提供加載數據的時間。這個需求怎麼滿足呢?

    基本的思想就是將啓動界面圖像放在一個在模式視圖裏,在應用啓動後立即顯示這個模式視圖,經過一定時間後再使這個模式視圖消失。下面就開始實現吧。

    Step1:在ViewController.xib文件中新建一個UIView對象,然後在該UIView對象中添加一個UIImageView對象,將該UIImageView對象的image設爲Default.png文件。

   Step2:在ViewController.m文件中創建一個IBOutlet屬性,命名爲modalView,將之鏈接到在上一步中創建的那個UIView對象。

   Step3:爲ViewController類添加兩個方法:showSplash和hideSplash,代碼如下:

  1. - (void)showSplash { 
  2.     UIViewController *modalViewController = [[UIViewController alloc] init]; 
  3.     modalViewController.view = self.modalView; 
  4.     [self presentModalViewController:modalViewController animated:NO]; 
  5.     [modalViewController release]; 
  6.      
  7.     // Dismiss the modalView after 3 seconds. 
  8.     [self performSelector:@selector(hideSplash) withObject:nil afterDelay:3.0f]; 
  9. - (void)hideSplash { 
  10.     [self dismissModalViewControllerAnimated:NO]; 
 

     代碼還是很簡單的,不明白的話可以查文檔。

    Step4:在AppDelegate.m文件中的-application:didFinishLaunchingWithOptions:方法中,return之前加上這麼一句:

  1. // Continue showing the splash image. 
  2. [self.viewController showSplash]; 

   這是在程序進入首頁時立即再繼續顯示啓動界面。好了,啓動應用,看看你的成果吧,先是系統會使用Default.png文件來作爲啓動界面,接着應用啓動後,會繼續接着再顯示該啓動界面3秒鐘,然後再進入應用首界面。如果你想一直顯示啓動界面,當某一事件發生後再dismiss掉,那可以在showSplash方法中做個等待循環,當你期望的事件發生後——比如數據如網絡加載完畢,你在調用hideSplash方法,dismiss掉啓動界面視圖。

   唯一需要特別注意的是:Default.png的尺寸是320*480,Iphone應用默認都是會顯示高爲20point的狀態欄,因此在Interface Builder中構建modalView時,要注意一下UIImageView要向上偏移20point,具體可以看IB中該對象的尺寸設置。

   該教程源代碼請看附件splash.zip

   

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章