自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Xcode 4開發(fā)第一個iPhone程序 圖文實例(下)

移動開發(fā) iOS
在開始之前,我們首先來分析一下項目需求,這是一個非常簡單的項目,只要在屏幕上顯示一段“Hello World”的文字,當(dāng)然還有一些附加條件,來看內(nèi)容。

Xcode 4開發(fā)第一個iPhone程序 圖文實例(下)是 本文介紹的內(nèi)容,接著Xcode 4開發(fā)第一個iPhone程序 圖文實例(上)繼續(xù)介紹。

項目開發(fā)

熟悉Xcode 4

經(jīng)過前期的準(zhǔn)備工作后,現(xiàn)在可以開始基于Xcode4進(jìn)行實際的項目開發(fā)。對于Xcode4,在iOS Dev Center中,找到“Xcode 4 User Guide”,這是一個專門針對Xcode 4的說明和使用指南,非常詳細(xì)。

http://mobile.51cto.com/iphone-273942.htm

在Xcode 4中,整合了原來專門用來編輯Mac或iOS項目界面的Interface Builder軟件,“Xcode 4 User Guide”中專門有一章“Designing User Interfaces in Xcode”來講述如何在Xcode 4中編輯界面。

Xcode 4開發(fā)第一個iPhone程序 圖文實例

創(chuàng)建新項目

啟動Xcode4后,首先會有一個歡迎窗口,通過它,點(diǎn)擊“Create a new Xcode project”,可以直接開始創(chuàng)建項目

Xcode 4開發(fā)第一個iPhone程序 圖文實例

當(dāng)然也可以通過菜單或者快捷方式來開始創(chuàng)建新項目

Xcode 4開發(fā)第一個iPhone程序 圖文實例

選擇新項目模板

為方便生成項目,Xcode4默認(rèn)提供了幾種項目模板:

Navigation-based Application: 該模板適用與需要界面導(dǎo)航的應(yīng)用,基于該模板生成的應(yīng)用程序,帶一個導(dǎo)航,顯示一個列表項

OpenGL ES Application: 該模板適用于基于OpenGL ES的應(yīng)用程序,例如游戲類程序?;谠撃0迳傻膽?yīng)用程序,帶一個用來輸出OpenGL ES場景的視圖和一個支持動畫的視圖

Splite View-based Application: 該模板適用于需要用到左右分欄視圖的iPad程序,基于該模板生成的應(yīng)用程序,提供了一個左右分欄的界面控件

Tab Bar Application: 該模板適用于適用采用標(biāo)簽頁的應(yīng)用程序,基于該模板生成的應(yīng)用程序,默認(rèn)帶有標(biāo)簽頁

Utility Application: 該模板適用與有一個主界面和一個信息頁的應(yīng)用,基于該模板生成的應(yīng)用程序,主界面上有一個信息按鈕,點(diǎn)擊后,有一個翻轉(zhuǎn)動畫,切換到另一個信息界面

View-based Application: 該模板適用于單一界面的應(yīng)用,基于該模板生成的應(yīng)用程序,只有一個空白界面視圖

Window-based Application: 該模板適用于空白的應(yīng)用程序,基于該模板生成的應(yīng)用程序,只有一個窗體,沒有任何視圖,需要手動添加

Xcode 4開發(fā)第一個iPhone程序 圖文實例

對于我們的Hello World項目來說,最適合的項目模板是“View-based Application”,我們只要基于它創(chuàng)建一個單一帶有空白視圖的應(yīng)用,然后再將UILabel拖到上面就可以實現(xiàn)基本功能。

項目基本選項

點(diǎn)擊下一步,進(jìn)入“Choose options for your new project”界面,在這里,可以選擇設(shè)置項目的基本選項,其中:

Product Name: 指產(chǎn)品名稱,在這里項目中,我們直接命名為“Hello World”

Company Identifier: 公司標(biāo)識符,一般命名規(guī)則為 “com.公司名”

Bundle Identifier: 指包標(biāo)識符,用于唯一標(biāo)識應(yīng)用程序,默認(rèn)會根據(jù)公司標(biāo)識符和產(chǎn)品名來組合生成

Device Family: 指該應(yīng)用支持的設(shè)備類型,共三個選項:iPhone、iPad、Universal(即iPhone、iPad通用)

Include Unite Tests: 是否包含單元測試代碼模板,如果勾選,Xcode會幫助生成單元測試代碼模板

Xcode 4開發(fā)第一個iPhone程序 圖文實例

 

選擇存儲路徑

點(diǎn)擊Next按鈕后,進(jìn)入選擇文件存儲路徑界面,在這里,可以選擇要存儲項目的目錄。

項目創(chuàng)建

完成點(diǎn)擊“Create”按鈕,項目創(chuàng)建完成,彈出項目窗口。

Xcode 4開發(fā)第一個iPhone程序 圖文實例

試運(yùn)行項目

經(jīng)過上面的步驟,我們已經(jīng)基于模板創(chuàng)建了一個項目,在開始開發(fā)前,我們可以嘗試先試運(yùn)行一下項目,看看效果。點(diǎn)擊Xcode左上角的“Run”按鈕,Xcode即開始對項目進(jìn)行編譯,編譯完成后,會彈出iPhone模擬器,在模擬器中運(yùn)行項目,當(dāng)然我們的項目現(xiàn)在運(yùn)行起來還只能看到一個空白的界面。

Xcode 4開發(fā)第一個iPhone程序 圖文實例

點(diǎn)Xcode左上角的“Stop”按鈕,停止運(yùn)行項目。

編輯界面文件

一般創(chuàng)建一個新項目,在項目中會包含一個或多個界面文件,這些界面文件一般稱之為“nib文件”,擴(kuò)展名為nib或xib。或者通過向?qū)?chuàng)建一個新的View Controller的時候,Xcode會包含一個對應(yīng)的nib文件,一個頭文件和一個實現(xiàn)文件。在我們剛剛以View-based Application為模板創(chuàng)建的Hello World項目中,“Hello_WorldViewController.xib”就是主界面的nib文件。

在Xcode左側(cè)選中“Hello_WorldViewController.xib”文件,并點(diǎn)擊工具欄的“Hide or show the Navigator”和“Hide or show the Utilities ”按鈕,隱藏左側(cè)Navigator區(qū)域,顯示Utility區(qū)域,這樣我們就可以開始在Xcode 4中來編輯界面。

Xcode 4開發(fā)第一個iPhone程序 圖文實例

添加Label到界面中

從對象庫中,找到我們所需要的Label控件對象,拖動到主界面中,即完成Label控件的添加

Xcode 4開發(fā)第一個iPhone程序 圖文實例

設(shè)置Label控件屬性

選中新添加的Label控件,點(diǎn)擊Inspector selector bar區(qū)域的“Show the Attributes inspector”按鈕,切換到屬性編輯界面,分別設(shè)置以下屬性:

Text: 輸入“Hello World”

Alignment: 選擇居中對齊

Font: 選擇“Helvetical Bold 26.0”

Text Color: 選擇紅色

Shadow: 選擇黑色(Black Color)

Shadow Offset: Horizontal和Vertical的值分別輸入1

Xcode 4開發(fā)第一個iPhone程序 圖文實例

設(shè)置Label控件的大小和位置

在上面的步驟中設(shè)置好Label的相關(guān)屬性后,發(fā)現(xiàn)文字特別小,而且顯示不完整,并非我們所選擇的字體大小,這是由于UILabel有一個屬性“adjustsFontSizeToFitWidth”,默認(rèn)值是“YES”,如果這個屬性的值為YES,并且Label的numberOfLines屬性值是1,它會根據(jù)Label的寬度來自動調(diào)整字體大小,通過Xcode新添加的Label,默認(rèn)寬度比較小,按照正常的26磅大小的字體,無法完整顯示,所以就字體大小就被自動調(diào)整了,導(dǎo)致顯示的和我們期望的不一樣。解決這個問題很簡單,就是我們重新設(shè)置一下Label的寬度,以讓其可以完整顯示文字。

選中新添加的Label控件,點(diǎn)擊Inspector selector bar區(qū)域的“Show the Size inspector”按鈕,切換到尺寸和位置設(shè)置界面,對寬度進(jìn)行調(diào)整,這里我們給Label設(shè)置一個足夠的寬度和高度:200x40,以保證字體不會被縮小。

接下來,就是要調(diào)整Label的位置,讓它顯示在屏幕的正中間。在Xcode中,用鼠標(biāo)拖動Label,拖動過程中Xcode有輔助線來幫助定位,很容易就可以找到正中心的位置。當(dāng)然也可以通過簡單的計算得到Label如果要顯示在正中心,坐標(biāo)應(yīng)該為:x = (屏幕寬度 - Label寬度) / 2 = (320 - 200) / 2 = 60; y = (屏幕高度 - 狀態(tài)欄高度 - Label高度) / 2 = (480 - 20 - 40) / 2 = 210;

Xcode 4開發(fā)第一個iPhone程序 圖文實例

對修改過的xib文件保存,運(yùn)行項目,看看效果

Xcode 4開發(fā)第一個iPhone程序 圖文實例

就這樣,我們已經(jīng)完成了第一步:在屏幕上顯示文字,設(shè)置字體和字體大小,讓文字顯示在屏幕正中心。下一步,我們要讓它支持旋轉(zhuǎn),并且旋轉(zhuǎn)后,文字還是顯示在屏幕正中。

支持設(shè)備旋轉(zhuǎn)

前面我們已經(jīng)學(xué)習(xí)了解過,要支持設(shè)備宣傳,要做如下工作:

重寫對應(yīng)的View Controller的“shouldAutorotateToInterfaceOrientation:”方法,在方法中申明支持的方向。也就是首先要重寫“Hello_WorldViewController.m”中的“shouldAutorotateToInterfaceOrientation:”方法

配置對應(yīng)的View Controller中的View的autoresizingMask屬性,以適應(yīng)因為界面旋轉(zhuǎn)導(dǎo)致的布局變化。也就是要設(shè)置好Label控件的autoresizingMask屬性。
還是在界面文件中,選中Label,在尺寸和位置設(shè)置界面,通過點(diǎn)擊Autosizing中的紅色線條,設(shè)置Label對上下左右四個方向以及寬度和高度都自動調(diào)整,這樣就可以保證在設(shè)備旋轉(zhuǎn)后,界面的寬度和高度發(fā)生改變后,控件對上下左右四個方向的位置以及長度和寬度也會隨著一起調(diào)整,由于已經(jīng)設(shè)置了文字在Label內(nèi)部是居中對齊的,就可以保證文字顯示在界面居中的位置。

Xcode 4開發(fā)第一個iPhone程序 圖文實例

點(diǎn)擊工具欄的“Hide or show the Navigator”和“Hide or show the Utilities ”按鈕,顯示左側(cè)Navigator區(qū)域,隱藏Utility區(qū)域,在左側(cè)Navigator區(qū)域,選中“Hello_WorldViewController.m”文件,找到“shouldAutorotateToInterfaceOrientation:”方法,對其進(jìn)行重寫,重寫后代碼如下

  1. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation   
  2. {   
  3. // Return YES for supported orientations   
  4. return YES;   
  5. }  

對所做的修改進(jìn)行保存,然后運(yùn)行項目,彈出模擬器,通過調(diào)用模擬器的設(shè)備旋轉(zhuǎn)菜單,讓iPhone模擬器變成橫屏,你將看到文字會自動調(diào)整位置,還是顯示在屏幕正中的位置。

Xcode 4開發(fā)第一個iPhone程序 圖文實例

至此,我們就實現(xiàn)了項目的全部需求。

小結(jié):Xcode 4開發(fā)第一個iPhone程序 圖文實例(下)的內(nèi)容介紹完了,通過Hello World這個簡單項目,我們學(xué)習(xí)了如何基于Xcode 4分析和開發(fā)iOS項目,學(xué)習(xí)了如何通過iOS Dev Center獲取需要的資料。最后希望本文對你有所幫助!

源碼下載:https://github.com/JimLiu/The-practice-of-iPhone-application-development/tree/master/Hello%20World

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-06 18:10:20

Xcode 4 iPhone

2009-06-26 16:07:43

MyEclipse開發(fā)Hibernate程序

2011-07-07 15:32:07

2012-05-25 15:20:38

XNA

2023-05-19 08:49:58

SQLAlchemy數(shù)據(jù)庫

2013-10-30 22:10:28

Clouda程序

2022-10-17 10:28:05

Web 組件代碼

2017-10-13 15:59:24

iPhone機(jī)器學(xué)習(xí)iOS

2024-06-07 08:59:35

2013-01-11 14:45:43

iOS開發(fā)移動應(yīng)用iPhone

2011-06-08 10:01:36

Windows Pho 應(yīng)用程序

2022-11-01 07:23:55

Dockernetcore程序

2024-03-13 13:53:10

C++程序開發(fā)

2011-06-08 10:24:38

Windows Pho 應(yīng)用程序

2011-06-24 13:38:32

QT 編譯 安裝

2011-04-02 10:08:21

webOS開發(fā)應(yīng)用程序

2011-07-06 17:53:40

iPhone SDK Xcode

2011-08-29 15:12:24

UbuntuLinux模塊

2013-06-14 17:16:44

WP開發(fā)Windows PhoWP應(yīng)用

2019-12-31 08:00:00

DebianLinuxApple Swift
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號