如何為Iphone應用建立啟動介面

來源:互聯網
上載者:User

本教程介紹了如何為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. }
10. - (void)hideSplash {
11.     [self dismissModalViewControllerAnimated:NO];
12. }
 
 
     代碼還是很簡單的,不明白的話可以查文檔。
    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中該對象的尺寸設定。
   該教程原始碼請看附件:http://www.bkjia.com/uploadfile/2012/0522/20120522023032344.zip
 

 

 

摘自 學問深時意氣平

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.