其實在網上已經有不少人寫過類似的教程,但是Xcode本身升級比較快,網上的一些入門教程還是基於Xcode 3的。工作之余花點時間整理了一個簡單的教程,希望對准備投身加入iOS開發行列的程序員朋友有所幫助。
很多開發軟件的教程開篇第一個例子通常都是Hello world。有人戲稱這是一個程序員魔咒“從Hello world開始能夠讓你快速地掌握一門語言”嘿嘿。那么也讓我們從Hello world開始iOS開發之旅吧。:]
目標
- 熟悉iOS IDE集成環境;
- 創建第一個項目;
- 整理項目結構;
- 增加Hello World文本標簽;
- 設置應用方向;
- 隱藏狀態欄。
一. 熟悉iOS IDE集成環境
二. 創建第一個項目
- Company Identifier: 公司標示,此處輸入一個唯一標示即可,也可以在項目中統一修改;
- Class Prefix: 默認類前綴,為了避免與其他類混淆,此處最好輸入一個前綴名稱,默認使用全大寫字母,保留為空也可以,本示例中使用JOY做為類的前綴名稱;
- Device Family: 設備類型,可以選擇“iPhone”“iPad”或者“Universal”(通用,同時支持iPhone和iPad) ;
- Storyboard: 是Xcode 4.x新增特性,是以前版本的xib的一個擴展升級,讓程序的UI設計更加的簡化;
注意:基於Storyboard的應用只能在iOS5以上版本的設備上運行。 - ARC: 是Xcode 4.x新增特性,對於以前版本的iOS程序員每alloc一個對象,都會下意識地先去release它,這是一個非常討厭的事情。現在有了 ARC,一切都變得更加簡單,程序員可以更加專注地處理自己應用的表現。
三. 整理項目結構
1. 在“HelloWorld”上點擊鼠標右鍵,在彈出的菜單中選擇“New Group”;
2. 將新建的組重命名為“GUI”;
3. 將我們現在看到的這幾個文件拖到“GUI”組中,如下圖所示:
提示:先在第一個文件JOYAppDelegate.h上點一下鼠標,然后按住SHIFT,再在最后一個JOYViewController.m上點一下鼠標,即可選中這些文件,然后按住鼠標不放,拖放到GUI上面即可。
四. 增加Hello World文本標簽
下面我們來增加一個文本標簽,顯示Hello World。
1. 在導航區域點擊並打開“MainStoryBoard.storyboard”文件,如下圖所示:
這是一個空白的StoryBoard,還沒有任何的控件。
2. 從右下方的對象區域找到Label控件,並將其拖放到默認的空白View上;
3. 雙擊這個Label控件,當Label控件中的文字高亮選中時,我們輸入一個Hello World!
4. 重新調整一下Label的位置,使其保持在屏幕中央。
現在我們再點擊一下左上角的運行按鈕,或者按command + R,看一下運行效果。
感覺如何?還不錯吧,哈哈,貌似很簡單的樣子哈,讓我們繼續。:]
五. 設置應用方向
現在的移動設備大多是支持屏幕旋轉的,很多應用程序在用戶旋轉設備時都會根據用戶當前方向,重新布局應用程序界面。在模擬器中,我們可以通過 comand + 左右鍵旋轉模擬器方向,從而達到模擬用戶使用過程中旋轉設備的效果。
現在我們嘗試一下看看效果,如下圖所示:
糟糕,剛才的標簽現在並不在屏幕中央了。對於復雜UI的應用,可能需要編寫一些代碼單獨根據屏幕的方向重新排列一下各個控件的位置。不過對於現在這個樣例,我們完全不用這么做。看看我們如何處理吧。
1. 在導航區域點擊並打開“MainStoryboard.storyboard”文件;
2. 在“Hello World”這個標簽上點擊選中該控件;
3. 點擊工具區的“Show the Attributes inspector(顯示屬性檢查器)”,將標簽的 Alignment 屬性設置為居中,如下圖所示:
4. 點擊工具區的“Show the Size inspector(顯示尺寸檢查器)”,將標簽的 Autosizing 屬性按照下圖設置:
下面我們再來運行一次看看,我轉,我轉,我轉轉轉⋯⋯哈哈,現在無論怎么轉Hello World始終都在屏幕的中間位置了。:]
不過細心的朋友此時可能會發現一個問題,那就是當Home鍵在上方時,Hello World是橫屏顯示的,而不是我們所期望的那樣,這是什么原因呢?
1. 在導航區域點擊並打開“JOYViewController.m”文件;
2. 找到shouldAutorotateToInterfaceOrientation方法,原來是在這里限定住了;
3. 把唯一一條語句注釋掉,加上一句 return YES; 如下所示:
1 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 2 { 3 // return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); 4 return YES; 5 }
現在我們在運行一下看看效果,OK啦!:]
補充說明
在項目屬性設置中有一個支持設備方向的設置屬性。
在導航區域點擊HelloWorld項目,然后在編輯區域的TARGETS下的HelloWorld點擊一下,我們可以看到下圖:
原來默認是不支持“Upside Down”這個方向的。不過這個屬性修改后,只會影響到我們今后添加的ViewController,而不會對之前的ViewController有任何影響。所以,如果要讓HelloWorld支持Upside Down這個方向,我們還是需要手動調整一下代碼的。
六. 隱藏狀態欄
盡管現在iPhone和新iPad的分辨率都很高,但是其屏幕相比傳統的PC的屏幕還是要小很多,在開發iOS應用時,屏幕上的空間可謂是“寸土寸金”,我們需要盡可能地利用屏幕上的每一處空間。現在很多iOS的應用在運行時,都是不顯示狀態欄的,這是怎么做到的呢?
1. 在導航區域點擊並打開“HelloWorld-Info.plist”文件;
2. 在編輯區域的空白處點擊鼠標右鍵,然后在彈出菜單中選擇“Add Row”;
3. 在“Key”欄目中使用下拉列表找到“Status bar is initially hidden”,並將其屬性設置為“YES”;
運行一下,狀態欄不見了!:]
結束語
OK,到此為止“Hello World”項目已經完成。感覺如何?簡單吧!
之后我們將逐步深入,開始快樂的iOS開發之旅 :D