ios7 Storyboard教程3——Start Developing iOS Apps Today——從今天開始開發IOS(IOS7版)系列源文檔翻譯(十二) – iPhone手機開發技術文章 iPhone軟體開發教學課程

創建自定義視圖控制器

你已經完成瞭所有這些配置,而無需編寫任何代碼。配置完成加載的待辦項目視圖控制器需要一些代碼,雖然,你需要一個地方來存放它。眼下Xcode中配置瞭兩個附加的待辦項目視圖控制器和表視圖控制器作為通用視圖控制器。要為您的自定義代碼的地方,你需要創建子類為每個這些視圖控制器,然後配置界面使用這些子類。
首先,你解決瞭附加的待辦項目視圖控制器的場景。自定義視圖控制器類將被稱為XYZAddToDoItemViewController ,因為這個視圖控制器將控制添加新項目到您的待辦事項列表中的一幕。

創建UIViewController的子類
1.選擇File > New > File(或按Command -N ) 。
2.在出現的對話框的左側,選擇的iOS下的可可觸摸的模板。
3.選擇的Objective- C類,然後單擊下一步。
4.在類領域, XYZ前綴後面鍵入AddToDoItem 。
5.選擇的UIViewController在彈出菜單中的“子類” 。
類標題更改為“ XYZAddToDoItemViewController 。 ” Xcode中幫助你通過使從你創建一個自定義視圖控制器的命名清楚。這是偉大的,所以離開新的名稱不變。
6.確保“Targeted for iPad”和“With XIB for user interface”選項選中。
7.單擊下一步。
8.保存位置將默認為您的項目目錄。離開那個原樣。
9.本集團選擇將默認為您的應用程序的名稱, todolist的。離開那個原樣。
10.目標部分將默認為具有用於您的應用程序未選中你的應用選擇和測試。這是完美的,所以離開瞭原樣。
11.單擊創建。

現在,您已經創建瞭一個自定義的視圖控制器子類,你需要告訴你的故事板來使用,而不是通用視圖控制器自定義類。故事板文件是可以被你的應用程序在運行時使用對象的配置。該應用程序機械是足夠聰明來代替您的自定義視圖控制器的故事情節開始與通用視圖控制器,但是你需要告訴腳本是這就是你想要的。

識別您的類作為視圖控制器的一個場景
1.在項目導航器中,選擇Main.storyboard 。
2.如有必要,打開大綱視圖圖像:vcfQzsXUsd+1xKGwVmlldyBDb250cm9sbGVyIKhDIEFkZCBUby1EbyBJdGVtobG1xL6wz/PVuc/W1NrE47XEs6G+sNbQtcS21M/zoaO12tK7uPbTprjDysfK0828v9jWxsb3oaO1pbv30tTRodbQy/yho8fr16LS4qOsz9azocXF0tG+rbTTytPNvL/Y1sbG98XF0ru49rK7zay1xM28seqhozxicj4KNC7U2rmr08PKwtK1wezT8jxpbWcgc3JjPQ==”/uploadfile/Collfiles/20140118/201401180902165.png” width=”15″ height=”12″ alt=”\”> :與視圖控制器選中,打開身份檢查圖像。
身份檢查顯示在工具區域的頂部,當你從左側點擊第三個按鈕。它可以讓你編輯一個對象在你的腳本特性有關該對象的身份,比如它是什麼類。

5.在身份檢查器中,打開旁邊的Class選項的彈出式菜單。
你會看到所有的視圖控制器類的Xcode知道的清單。最後一個列表中的應該是你的自定義視圖控制器,XYZAddToDoItemViewController。選擇它來告訴Xcode中使用您的視圖控制器的這一幕。

在運行時,你的腳本將創建一個XYZAddToDoItemViewController實例 ,您的自定義視圖控制器子類,而不是通用的UIViewController 。請註意, Xcode中改變瞭你的附加待辦事項項目視圖控制器的場景的描述從“View Controller – Add To-Do Item”到“Add To Do Item View Controller – Add To-Do Item”的Xcode知道你”現在重新使用自定義視圖控制器的這一幕,和它解釋自定義類的名稱,使之更容易理解什麼是在腳本怎麼回事。
現在,視圖控制器上做同樣的事情。

要創建的UITableViewController的子類
1.選擇File > New > File(或按Command -N ) 。
2.在左側,選擇iOS的下可可觸摸,然後選擇Objective-C類。如果你還沒有,因為在本教程的最後一個步驟中創建的任何類,它可能已經為您選擇。
3.單擊下一步。
4.在類字段中,鍵入todolist的。請註意, Xcode中把插入點放在某某,你的類的前綴,和ViewController ,事情要創建的類型之間。
5.在彈出菜單中的“Subclass of”選擇的UITableViewController 。
6.確保“目標為iPad ”和“廈門國際銀行與用戶界面”選項選中。
7.單擊下一步。
8.保存位置將默認為您的項目目錄。離開那個原樣。
9.本組選項將默認為您的應用程序的名稱, todolist的。原樣離開。
目標部分將默認為具有用於您的應用程序未選中你的應用選擇和測試。這是完美的,所以離開瞭原樣。
10.單擊創建。

再一次,你需要確保配置您的自定義表視圖控制器XYZToDoListViewController 在你的Storyboard。

配置您的Storyboard
1.在項目導航器中,選擇Main.storyboard 。
2.如有必要,打開大綱視圖。
3.在大綱視圖中,選擇表視圖控制器,並打開身份檢查圖像:在公用事業領域.. / Art/inspector_identity_2x.png 。
4.在身份檢查器中,從旁邊的Class選項的彈出式菜單中選擇XYZToDoListViewController 。

現在,您就可以自定義代碼添加到您的視圖控制器。

解開segue導航回原來的場景

除瞭推動(push)和模態(model)segue,Xcode中提供瞭一個)解開(unwind) segue。這個segue允許用戶從一個給定場景回到以前的場景,並提供一個地方給你補充一點,被執行時,這些用戶場景之間瀏覽你自己的代碼。您可以使用解開segue從XYZAddToDoItemViewController到XYZToDoListViewController導航回。
一個解開segue是通過添加一個動作方法到目標視圖控制器(您想解開的視圖控制器)創建的。可以解開到一個方法必須返回一個動作(IBAction),並采取在Storyboard segue(UIStoryboardSegue)作為參數。因為你想放松回XYZToDoListViewController,你需要用這種格式的XYZToDoListViewController執行添加操作方法。

解開(unwind)回到XYZToDoListViewController
1.在項目瀏覽器中,打開XYZToDoListViewController.m。
2.添加下面的 @implementation行執行下面的代碼:

- (IBAction)unwindToList:(UIStoryboardSegue *)segue
{
 
}

你可以命名你想要的展開任何行動。調用它unwindToList:很清楚那裡的展開將帶你。對於未來的項目中,采用瞭類似的命名約定,一個地方的動作的名稱很清楚那裡的展開會去。
現在,離開這個方法的實現為空。稍後,您將使用這個方法來從XYZAddToDoItemViewController檢索數據,以將項目添加到您的待辦事項列表。
通過在源視圖控制器,XYZAddToDoItemViewController的停靠退出圖標的操作:要創建的展開SEGUE,取消和完成按鈕鏈接到unwindToList。

鏈接按鈕到unwindToList:action
1.在項目導航器中,選擇Main.storyboard。
2.在畫佈上,按下Control鍵拖拽取消按鈕在加載的待辦項目現場對接退出項目。

如果您看不到退出項目在現場對接,而是看到現場的描述,點擊放大圖片:
按鈕,在畫佈上,直到你看到它。
出現一個菜單,在拖動結束的位置。
3.選擇unwindToList :從快捷菜單中。
4.這就是你剛才添加到XYZToDoListViewController.m文件的操作。這意味著,當被竊聽的取消按鈕, SEGUE會放松,這個方法就會被調用。
在畫佈上,按下Control鍵拖拽完成按鈕,在XYZAddToDoItemViewController現場塢退出項目。
4.選擇unwindToList :從快捷菜單中。

請註意,您所使用的相同行動都取消和完成按鈕。在接下來的教程中,您將在兩種不同的情況之間,當你編寫代碼來處理展開SEGUE區分。

註意:現在,運行你的應用程序。在運行之前,你看到一個表,視圖,但在它沒有數據。您可以點擊添加按鈕,並從XYZToDoListViewController導航到XYZAddToDoItemViewController 。您可以點擊取消和完成按鈕導航回表視圖。

那麼,為什麼沒有數據顯示?表視圖會得到的數據靜態或動態兩種方式。當一個表視圖的控制器實現所需的UITableViewDataSource方法,表視圖要求其視圖控制器的數據顯示,無論靜態數據是否已配置在Interface Builder 。如果你看看XYZToDoListViewController.m ,你會發現,它實現瞭三個方法, numberOfSectionsInTableView : ,實現代碼如下: numberOfRowsInSection :和實現代碼如下:cellForRowAtIndexPath
: 。你可以得到你的靜態數據,通過註釋掉瞭這些方法的實施再次顯示。來吧,嘗試瞭這一點,如果你喜歡。

綜述

這一章,您已經完成瞭開發你的應用程序的接口。你有兩個場景,一個用於將項目添加到您的待辦事項列表以及一個用於查看列表,你可以在它們之間進行導航。接下來,您將實現讓用戶添加一個新的待辦事項,並讓它出現在列表中的能力。下一個模塊涵蓋瞭使用數據來實現此行為。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *