第一個iOS應用 —— Hello world!


其實在網上已經有不少人寫過類似的教程,但是Xcode本身升級比較快,網上的一些入門教程還是基於Xcode 3的。工作之余花點時間整理了一個簡單的教程,希望對准備投身加入iOS開發行列的程序員朋友有所幫助。

很多開發軟件的教程開篇第一個例子通常都是Hello world。有人戲稱這是一個程序員魔咒“從Hello world開始能夠讓你快速地掌握一門語言”嘿嘿。那么也讓我們從Hello world開始iOS開發之旅吧。:]

本篇文章僅供第一次接觸iOS開發的程序員參考使用,你會發現,iOS的開發是如此的簡單!

目標

本文將闡述以下內容:
  1. 熟悉iOS IDE集成環境;
  2. 創建第一個項目;
  3. 整理項目結構;
  4. 增加Hello World文本標簽;
  5. 設置應用方向;
  6. 隱藏狀態欄。
看起來很多的樣子哈,其實在整個過程,你幾乎不用寫任何一行代碼,就能夠完成上述所有工作,讓我們現在開始吧。:]

一. 熟悉iOS IDE集成環境

如下圖所示,這就是Xcode的集成環境:

對於熟悉ms visual studio或者eclipse的朋友來說,這個IDE環境並不難理解和接受,大家只要記住幾個功能區域即可。至於這個環境中存在哪些技巧我會在后續的文章中逐漸補充,畢竟我們現在還什么事情都沒開始做,沒有必要在這個上面浪費太多的時間。
小提示:在Xcode中很多地方只要用鼠標單擊就可以了,這個對於初次接觸Xcode的人可能會有些不習慣。

二.  創建第一個項目

1. 打開XCode,選擇File->New Project,然后選擇iOS->Application->Single View Application,然后點Next,如下圖所示:

說明:除OpenGL Game模板外,其他幾個模板的程序都非常簡單,有興趣的朋友,可以使用這些模板分別創建空的項目,然后花上幾分鍾閱讀一下代碼即可,在本文,我們選擇“Singl View Application”這個模板做為示例模板。
 
2. 在彈出的下一個頁面中,在Product Name中輸入“HelloWorld”,其他設置部分參照下圖:

說明:
  • 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,一切都變得更加簡單,程序員可以更加專注地處理自己應用的表現。
有關ARC和Storyboard的相關內容,后續我會寫一些專門的文章討論,有興趣的朋友也可以自己Google一下,相關細節問題,本文中暫時不做詳細論述。
 
3. 點擊“Next”,然后在下一個彈出的窗口中,選擇一個文件夾,保存項目,然后點擊“Create”按鈕。
好了,到現在我們第一個項目就創建完成了,點擊左上角的“Run”按鈕,看看效果吧。如下圖所示:

現在,我們只是通過了簡單的設置就創建了一個能夠獨立運行的應用,一切就是這么的簡單:)。

三. 整理項目結構

此部分內容在開發中不是必須要做的事情,如果你着急看下面要做的事情,可以略過此部分內容。不過,隨着我們開發的遞進,文件越來越多,對項目結構的整理是非常必要的一件工作,也是一個非常好的習慣。:]
首先我們看一下導航區域,如下圖所示:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM