您好,登錄后才能下訂單哦!
Tutorial: Basics
教程:基礎知識
本教程帶你了解一個應用程序的基礎知識,通過創建一個簡單的 用戶界面 ,并且添加自定義行為來轉換工作應用程序的接口。
跟隨這個教程學習iOS應用程序開發的基礎,包括:
如何使用Xcode創建并管理項目
如何識別Xcode項目的關鍵部分
如何添加標準用戶界面元素到你的應用程序
如何構建和運行應用程序
在即結束本教程之后,你將擁有一個看上去如下所示的應用程序:
為簡單起見,本教程項目只有一個iPhone界面,但是你可以在開發iPad應用程序時使用完全相同的工具和技術。這個教程使用Xcode 5.0 和 iOS SDK 7.0。
Create a New Project
創建一個新工程
想要開始開發應用程序,需要創建一個新的Xcode工程。
Xcode 包括幾個內建的應用程序模板,你能夠使用他們開發通用模式的iOS應用程序,例如游戲、基于導航標簽的應用程序、和基于表格視圖的應用程序。這些模板的大部分在開始工作時都為你都配置了接口和源代碼文件。在本教程中, 你將從最基本的空應用程序(Empty Application)開始。
使用空應用程序模板將幫助你了解一個iOS應用程序的基礎結構,和如何使內容顯示在屏幕上。在你學到這一切是如何工作之后,你能夠為你的應用程序使用其他模板來節省配置的時間。
創建一個空的項目
1.從目錄 /Applications 打開Xcode
Xcode歡迎窗口出現。
如果一個工程窗口而不是歡迎窗口出現,不要擔心——你或許創建或打開了一個以前的Xcode項目。只要使用下面步驟中的菜單項來創建項目。
2.在歡迎窗口,點擊“創建一個新的Xcode 項目(Create a new Xcode project)”(或者選擇File > New > Project)。
Xcode打開一個新窗口且顯示一個對話框,在對話框中你可以選擇一個模板。
3.在左側對話框左側的iOS部分,選擇應用程序(Application)。
4.在對話框的主區域,點擊空應用程序(Empty Application)然后點擊Next。
5.在出現的對話框中,命名你的應用程序,且為你的項目選擇附加選項。
使用如下值:
Product Name: ToDoList
Xcode 使用你輸入的名稱命名你的應用程序和項目。
Company Identifier: 你的公司標識,如果你有的話。如果你沒有,使用 com.example.
Class Prefix: XYZ
Xcode 使用帶有前綴的類名。Objective-C 的類的名字必須是任何框架或你可能使用的束中是獨一無二的。想要保持獨特的類名,所有的類使用前綴是通常的做法。兩個字母前綴是蘋果保留用于框架的類,所以要使用三個或更長的字母作為前綴。
6.從彈出的設備菜單中選擇iPhone。
正如已經提到的,用iPhone界面創建一個應用程序是開始時最簡單的方法。這些技術同樣適用于iPad和通用的應用程序。
7.點擊Next。
8.在出現的對話框中,為你的工程選擇一個保存位置并點擊創建(Create)。
Xcode在窗口中打開你的新工程(叫做workspace window,工作區窗口),應該類似于下圖:
Get Familiar with Xcode
熟悉Xcode
Xcode包含了創建一個應用程序所需的所有內容。它不僅組織創建的應用程序的文件,而且它還提供代碼編輯器和界面元素,允許你創建并運行應用程序,而且還包括一個強大的集成調試器。
花一點時間來熟悉Xcode 的工作區。在本教程剩下的部分中,你將使用下面窗口中表示的控制部分。點擊不同的按鈕以了解它是如何工作的。如果你想要更多的關于界面上個部分的信息,請閱讀它的幫助文檔——你可以通過Control+點擊Xcode的區域且在彈出的快捷菜單中找到它們。
Run iOS Simulator
運行iOS模擬器
因為你的項目基于一個Xcode模板,所以基本的應用程序環境是自動為你設置好的。即使你沒有編寫任何代碼,你也能夠構建并運行一個空應用程序模板而不必添加任何額外的配置。
構建并運行你的應用程序,及就可以使用 iOS Simulator (iOS模擬器)應用程序,它包含在Xcode中。Xcode 模擬器給你一個你的應用程序運行在iOS設備上的時候所擁有的外觀和行為的一種方式。
iOS模擬器可以模擬多種類型的硬件——iPad、iPhone的各種不同的尺寸,等等。因此,你能夠模擬在所有設備上進行開發。在本教程中,使用iPhone Retina(4-inch)選項。
在iOS模擬器上運行你的應用程序
1.在Xcode工具條上彈出的方案(Scheme)菜單中選擇 iPhone Retina (4-inch) 。
繼續瀏覽這個菜單,看看其他的可用在iOS模擬中的硬件選項。
2.點擊Run按鈕,位于Xcode工具條左上角。
或者,你可以選擇 Product > Run (或者 Command+R)。
如果這是你第一次運行應用程序,Xcode會問你是否在你的Mac上授權開發者模式。開發者模式允許Xcode訪問某些調試屬性而不必每次填寫你的密碼。跟隨提示,決定是否允許使用開發者模式。如果你不選擇允許,你或許會被要求填寫密碼。本教程假設你的開發者模式已經啟動。
3.觀察Xcode工具條的構建進度直到完成。
Xcode在activity viewer顯示關于構建進度的信息,它在工具條的中間位置。
在Xcode完成構建后,iOS模擬器開始自動啟動。它在第一次運行的時候或許需要一段時間。
iOS模擬器在iPhone模式下打開,就像你指定的一樣。在模擬器的iPhone屏幕上打開你的應用程序。
如其名稱 空應用程序,這個模板只顯示一個白色的屏幕。其他的模板有更復雜一點的行為。重要的是在擴展它到你的應用程序之前理解模板的使用。運行沒有修改的模板是開始開發的聰明方式。
探討了應用程序之后,通過選擇iOS Simulator > Quit iOS Simulator (或者Command+Q)退出iOS模擬器。
Review the Source Code
查看源代碼
空應用程序模板擁有一些現有的源代碼文件,它們設置應用程序環境。大部分的工作通過 UIApplicationMain 函數完成,它是自動調用你的工程的 main.m 源文件。UIApplicationMain函數創建一個應用程序對象,它為你的應用程序在iOS系統上工作設置基礎結構。包括創建運行循環( run loop)為應用程序提供輸入事件。
你不必直接處理main.m源文件,但了解他是如何工作的也非常有意思。
查看main.m源文件
1.確保項目導航區域的導航器打開。
項目導航器(project navigator)顯示項目中所有的文件。 如果項目導航器沒有打開,點擊導航器選擇條最左側的按鈕。
2.在工程導航器中通過點擊緊挨著它的展開三角(disclosure triangle)打開支持文件(Supporting Files)文件夾。
3.選擇 main.m.
Xcode在窗口的主編輯區打開源代碼文件,如下圖所示:
如果你雙擊這個文件,你將看到他會在一個單獨的窗口中打開。你能夠選擇兩種方式打開它。
在 main.m 中的main函數 在自動釋放池中調用 UIApplicationMain 函數。
.@autoreleasepool{
.
.returnUIApplicationMain(argc,argv,nil,NSStringFromClass([XYZAppDelegateclass]));
.
.}
.
聲明為你的應用程序提供內存管理支持。自動引用計數(Automatic Reference Counting (ARC))通過編譯器跟蹤對象的擁有者來簡化內存管理。@autoreleasepool 是基礎內存管理的一部分。
調用 UIApplicationMain 創建了兩個應用程序的重要初始化組件:
一個UIApplication 類的實例,叫做應用程序對象(application object)。
應用程序對象管理應用程序事件循環和協調其他高級應用程序的行為。這個類,定義在UIKit框架中,不需要你編寫任何額外的代碼來讓他工作。
一個 XYZAppDelegate 類的實例, 叫做應用程序委托(app delegate)。
Xcode在設置空應用程序模板的時候同時創建了這個類。應用程序委托創建一個窗口用來放置應用程的內容,而且為應用程序狀態轉換的提供地方。這個窗口是你編寫自定義的應用程序級代碼的地方。像所有的類一樣, XYZAppDelegate 類在應用程序中定義了兩個源代碼文件:接口文件XYZAppDelegate.h和實現文件XYZAppDelegate.m。
這兒書名應用程序對象和應用程序委托是如何交互的。當你的應用程序啟動時,應用程序對象調用在應用程序委托中的定義方法給你的自定義的代碼去做它的工作——這是一個應用程序被執行的行為有趣的地方。想要理解應用程序委托更深層次的作用,查看你的應用程序接口文件,在工程導航器中選擇XYZAppDelegate.h。應用程序委托接口包含一個單獨的屬性: window。通過這個屬性,應用程序代理跟蹤所有畫在這個窗口中的你的應用程序的內容。
接下來,查看應用程序委托實現文件。要做到這點,選擇工程導航器中的XYZAppDelegate.m。應用程序委托實現包含重要方法的“骨架(skeletons)”。這些預定義的方法允許應用程序對象來和應用程序委托進行通話。在一個重要運行事件期間——應用程序對象調用在應用程序委托里的類似方法,給他一個機會來做出適當相應。你不需要做任何特殊的事情來確保這些方法在正確的時間被調用——應用程序對象為你處理了這部分工作。
所有這些自動實現的方法都擁有默認的行為。如果你不識閑這些骨架或者從你的XYZAppDelegate.m 文件中刪除他們,你還是會在這些方法被調用的時候得到默認的行為。使用這些骨架來添加額外的自定義代碼,已使得這些方法被調用的時候得到你想要的效果。舉個例子,在 XYZAppDelegate.m文件的第一個方法包含幾行代碼,這些方法設置應用程序窗口并且在你第一次運行你的應用程序的時候得到一個白色的背景。在本教程中,你將不會使用任何自定義的應用程序委托代碼,所以繼續且移除那些設置窗口為純白色背景的代碼。
設置應用程序委托實現文件
1.在XYZAppDelegate.m中找到application:didFinishLaunchingWithOptions: 方法。
它是這個文件的第一個方法。
2.從這個方法中刪除頭三行代碼。如下所示:
.-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions
.
.{
.
.returnYES;
.
.}
3.
4.
Xcode自動保存更改。Xcode繼續跟蹤且保存你所有的工作。(你可以通過選擇Edit > Undo Typing來不做你的修改。)
Create a Storyboard
創建故事板(Storyboard)
此時,你已經準備好為你的應用程序創建一個故事板。故事板是一個應用程序用戶界面的可視化表現,顯示屏幕里包含的內容和他們之間的轉換。使用故事板來安排流——或者故事——來駕馭你的應用程序。
想要看到故事板如何融入到一個應用程序中,在這個教程里你將手動創建一個且把它添加到你的應用程序中。與你開始的空應用程序模板不懂,其他Xcode模板包含預置的故事板提供視圖、視圖控制器、和關聯的源代碼文件(這些源代碼文件為這個類型的應用程序設置了基本的架構)。在你手動設置完故事板之后,你將看到如何把各部分放在一起。然后你將能開始一個附帶有故事板的項目模板,浙江為你節省一些花銷。
創建一個新的故事板
1.選擇 File > New > File (或者 Command+N).
出現一個對話框,提示你為你的新文件選擇模板。
2.在左側,在iOS下選擇用戶界面(User Interface)
3.點擊故事板,點擊Next。
4. 在Devices選項,選擇iPhone。
5.點擊Next。
出現一個對話框,提醒你選擇一個位置和命名你的新故事板。
6.在Save As字段里,命名文件為 Main.
7.確保文件保存到和你的項目所在的目錄下。
8.在Group 選項,選擇ToDoList。
9.在Targets, 選擇ToDoList旁邊的復選框。.
這個選項告訴Xcode當構建你的應用程序的時候包含這個新的故事板。
10. 點擊創建。
一個新的故事板文件被創建,且添加到了你的項目。你將在這個文件中安排應用程序的內容。
現在你需要高旭Xcode你想要使用這個故事板作為應用程序的接口。當它啟動的時候,應用程序對象檢查應用程序是否有主界面配置。如果有,當應用程序啟動的時候,應用程序對象加載定義的故事板。
設置故事板作為應用程序的主界面。
1.在工程導航器,選擇你的工程。
在工作空間窗口的編輯區域,Xcode顯示工程編輯器,它允許你查看和編輯關于你的應用程序是如何構建的細節。
2.在Targets下,選擇ToDoList。
如果項目和目標列表沒有現在項目編輯器中,點擊編輯器邊框左上角的多層三角形來顯示這個列表。
3.選擇General選項卡。
4.在部署信息(Deployment Info)下,找到主界面選項。
5.選擇你的故事板, Main.storyboard.
Add a Scene to Your Storyboard
添加一個場景到你的故事板
現在你有了個故事板,是時候開始添加應用程序內容了。Xcode提供一個對象庫,你能向里面添加故事板文件。它們當中的一些是用戶界面元素,這些元素屬于視圖,例如按鈕和文本字段。另外一些定義了你的應用程序的行為,但它們自身不出現在屏幕上,例如視圖控制器和手勢識別器。
To start, you’ll add a view controller to your storyboard. A view controller manages a corresponding view and its subviews. You’ll learn more about the roles of views and view controllers in the next chapter首先,你將添加一個視圖控制器到你的故事板。一個視圖控制器管理一個相應的視圖和它的子視圖。你在下一章App Development Process將學習到更多的關于視圖和視圖控制器的作用。
添加一個視圖控制器到你的故事板
1.在工程導航器中,選擇 Main.storyboard.
在編輯區的Interface Builder(可視化界面編輯器)中打開故事板。因為故事板是空的,所以你看的是一個空白的畫布(canvas)。已使用這個畫布來添加和安排用戶界面元素。
2.打開對象庫。
對象庫Object library 出現在工區去的底部。如果你沒有看到對象庫,你可以點擊它的按鈕,它在庫選擇器條上從左開始的第三個按鈕。(若果你沒有看到工具去,你可以通過選擇View > Utilities > Show Utilities來顯示它。)
列表顯示了每個對象的名字、描述和可視化表示。
3.將一個視圖控制器對象從列表中拖拽到畫布。
如果你沒有在對象庫中找到這個對象的標題“View Controller”,通過在列表底部的文本字段輸入對象來過濾列表。輸入View Controller你將會在過濾的列表中看到唯一的視圖控制器對象。
在這一點上,應用程序的故事板包含一個場景。在畫布上指向左邊場景的箭頭是初始化場景指示器(initial scene indicator),這意味著這個場景是在應用程序開始的是后就被加載。現在,這個你看到的在畫布中的場景包含一個單獨的視圖,它被一個視圖控制器管理。如果你在iOS模擬器上運行應用程序,至二個視圖是你在設備屏幕上看到的內容。在iOS模擬器上運行你的應用程序來核實所有的東西都正確的配置是非常有用的。在這樣做之前,添加一些當你在運行應用程序的時候可以被看到的東西到場景中。
談價一個標簽到你的場景中
1.在對象庫,找到標簽(Label)對象。
如果你在過濾器文本字段輸入文本,你或許需要清除它的內容在你看到標簽對象前。你也能在過濾器字段里輸入 Label 來快速查找標簽對象。
2.從列表中拖拽標簽對象到你的場景。
3.拖拽標簽到場景的中間,直到橫豎標線出現。
當你看到如下圖的情況是,停止拖拽:
標線意味著標簽現在正在正中間。(標線只有在拖拽或在它們旁邊改變對象的尺寸的時候出現,所以它們將在你放手標簽對象的時候消失。)
4.雙擊標簽的文本來選擇編輯它。
5.輸入 Hello, World! 然后按返回鍵。
如果有必要,重定位這個標簽。
Test Your Changes
測試你的改變
在iOS模擬器上運行你的應用程序是一個定期檢查每件事情是否如你希望般工作的偉大的方法。此時你的應用程序應該啟動且加載你在主故事板上創建的場景。點擊Xcode上的運行按鈕。已將看到如下圖所示的內容:
如果你沒有看到你加載的標簽,請確保你創建的故事板已配置為應用程序的主界面,且確保你移除了應用程序委托中的創建空白窗口的代碼。這非常有必要,回去且重復這些部分的步驟。
這也是一個很好的機會來試驗你能添加什么到界面。通過如下選擇,探索Interface Builder:
標簽的文字。
標簽的字體大小。
字體的顏色。
Build the Basic Interface
構建基本界面
現在你能在場景中安置內容,是時候構建基本的界面,為你添加一個新的項目到待辦事項清單的場景。
想要添加一個項目到待辦事宜清單,你需要一個信息:項目的名字。你從一個文本字段得到這個信息。文本字段是界面元素,它讓用戶使用鍵盤輸入單行的文本。但首先,你需要移除你之前添加的標簽。
從場景中移除標簽
1.點擊標簽選擇它。
2.按刪除鍵。
標簽被從場景中移除。如果這不是你想要的,你可以選擇Edit > Undo Delete Label。(所有編輯器都有一個Edit > Undo command來不做最近的操作。)
現在你有有了一個空白的畫布,添加一個待辦事宜項目來創建一個場景。
添加文本字段到你的場景
1.這很有必要,打開對象庫。
2.從列表中拖拽文本字段對象到你的場景。
3.拖拽文本字段到離屏幕底部三分之二的位置。
4.如有必要,點擊文本字段顯示調整處理。
你通過拖拽一個UI元素的resize handles來調整它,它是一個出現在元素邊界上的白色小矩形。你可以通過選擇元素來顯示它的resize handles。在這個例子中,文本字段應該已經被選擇,因為你剛剛停止拖拽它。如果你的文本字段看上去像下面的一樣,你已經準備好調整它了。如果不是,在畫布上選擇它。
5.調整文本字段的左邊和右邊直到你看到垂直引導線出現為止。
當你看到如下圖所示時,停止調整文本字段。
雖然在你的場景中有了一個文本字段,但是沒有告訴用戶要向這個字段輸入的說明。使用文本字段的占位符文本來提示用戶要輸入一個新的待辦事宜項目的名字。
設置文本字段占位符文本
1.選中文本字段,在工具區域打開屬性檢查器 。
當你選擇檢查器選擇器條從左開始第四個按鈕的時候,屬性檢查器( Attributes inspector) 會出現。 它讓你編輯你的故事板中的一個對象的屬性。
2.在屬性檢查器中,找到字段標簽占位符(Placeholder)并且輸入 New to-do item.
想要在文本字段顯示新的占位符,按回車鍵。
檢查點:在iOS模擬器上運行你的應用程序來確保你創建的場景如你希望的一樣工作。亦應該能夠點擊文本框的內部并且能夠用鍵盤輸入字符串。
Recap
回顧
你現在可以通過使用故事板創建一個基本接口。在接下來的教程中,你將會學到更多關于添加交互到你的界面,以及編寫代碼來創建自定義的行為。這些教程中之間的章節,指導你在使用應用程序的時候,讓你把概念輔助實施。
Setup
App Development Process
Copyright 2014 Apple Inc. All rights reserved. Terms of Use | Privacy Policy | Updated: 2013-10-22
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。