ios控制交互的實現——Start Developing iOS Apps Today——從今天開始開發IOS(IOS7版)系列源文檔翻譯(九) – iPhone手機開發技術文章 iPhone軟體開發教學課程

佈局你的用戶界面之後,你需要讓用戶與其進行交互。這是控制器進來控制器支持你的視圖通過響應用戶操作和填充的意見與內容。控制對象是一個管道,通過它的視圖瞭解變化中的數據模型,反之亦然。視圖是通過應用程序的控制器通知變化模型數據,以及控制器進行通信的用戶發起的更改,例如,文本在文本字段到對象模型輸入。無論他們是響應用戶操作或定義導航,控制器,實現您的應用程序的行為。

視圖控制器

你已經建立瞭一個基本的視圖層次之後,你的下一個步驟是控制視覺元素和響應用戶輸入。在iOS應用程序,您可以使用一個視圖控制器(UIViewController)管理與子視圖的層次結構中的內容視圖。

vcSz1tbKwrz+v8nE3LeiyfrU2sTjtcTTptPDs8zQ8rT6wuuho7WxuMPKwrz+t6LJ+sqxo6y4w7T6wuuxu9a00NCho8Tjv8nS1Lao0uXSu7j2tq/X96OstNOy2dfd0ru49sr9vt3Su8rCzt6zyaOs0tS4/NDC08O7p73nw+aho8Tj08PQ0LavwLTNxravo6zS1M/s06bTw7unu/LPtc2zysK8/qOsxPq1xNOm08OzzNDytcTB97PMoaM8YnI+Cs2ouf20tL2ous3Ktcqp0+tJQkFjdGlvbre1u9jA4NDNus23osvN1d+yzsr9tcS3vbeotqjS5bLZ1/ehozxicj4KCjxwcmUgY2xhc3M9″brush:java;”>- (IBAction)restoreDefaults:(id)sender;
sender參數指向該負責觸發動作的對象。該IBAction返回類型是一個特殊的關鍵字,它就像void關鍵字,但它表明,該方法是,你可以從在Interface Builder(這就是為什麼關鍵字具有IB前綴)您的腳本連接到一個動作。您將瞭解更多有關如何將IBAction操作鏈接到一個元素在你的教程故事情節:Storyboard。

出口

出口提供瞭一種從接口的您添加到情節提要,從源代碼文件中的對象引用的對象。您可以創建一個出口通過從你的腳本中的特定對象控件拖動到視圖控制器文件。這將創建的對象在你的視圖控制器文件,它可以讓你從代碼在運行時訪問和操縱該對象的屬性。例如,在第二個教程中,您將在您的todolist的應用程序創建一個出口為文本字段,以便能夠訪問該文本字段內容中的代碼。

出口被定義為IBOutlet屬性。

@property (weak, nonatomic) IBOutlet UITextField *textField;

該IBOutlet關鍵字告訴Xcode中,您可以從界面生成器連接到這個屬性。您將瞭解更多有關如何從一個故事板連接的電源插座上的源代碼教程:Storyboard。

控件

控件是一個用戶界面對象,如按鈕,滑塊,或切換用戶操作與內容互動,提供輸入,在一個應用程序瀏覽,並執行您所定義的其他行動。控件提供一種方法,您的代碼從用戶界面接收消息。
當用戶與控件交互,控制事件被創建。控制事件代表的各種物理手勢,用戶可以對控件,如起重從控制手指,用手指拖動到一個控件和一個文本字段內著陸。

有事件類型三大類:

1.觸摸和拖動事件。觸摸並當用戶與帶有觸摸或拖動控件交互發生的拖動事件。有幾種可用的觸摸事件階段。當用戶最初觸摸瞭手指上的一個按鈕,例如,觸摸向下內部事件觸發,如果用戶拖動瞭按鈕時,相應的拖動事件被觸發。觸摸裡面當用戶舉起手指離開鍵,同時仍然在按鈕的邊緣的范圍內被發送。如果用戶已經抬起手指,從而有效地消除瞭之前的觸摸拖動的按鈕外的手指,觸摸外間事件被觸發。
2.編輯事件。當用戶編輯一個文本字段編輯發生的事件。
3.值變更事件。當用戶操縱的控制,使其發出一系列不同的值的值發生改變的事件。
當你定義的互動,知道這是與每個控件關聯在你的應用程序,然後進行控制的目的,明顯給用戶的界面的操作。

導航控制器

如果你的應用中有多個內容視圖層次,你需要能夠在它們之間進行轉換。對於這一點,你將使用一種特殊類型的視圖控制器:一個導航控制器(UINavigationController ) 。導航控制器管理轉變前後通過一系列的視圖控制器,當用戶瀏覽電子郵件帳戶,收件箱中的郵件,並在郵件的iOS應用程序的單個電子郵件等。
該組由一個特定的導航控制器管理視圖控制器稱為它的導航堆棧。導航堆棧是一個後進先出的自定義視圖控制器對象的集合。添加到堆棧中的第一項將成為根視圖控制器,並且永遠不會從堆棧中彈出。其他視圖控制器可以推或彈出導航堆棧。
雖然導航控制器的主要工作是管理你的內容視圖控制器的演示,它也負責對自己的自定義視圖。具體地講,它提出瞭一個導航欄,認為在該情況下提供有關用戶的地方在導航層次結構,其中包含一個後退按鈕和其他按鈕可以自定義屏幕的頂部。這是添加到導航堆棧的每個視圖控制器提出瞭這個導航欄。你是負責配置導航欄。
你一般不用做任何工作,彈出視圖控制器從導航堆棧的;由導航控制器提供的後退按鈕為您處理此。但是,你必須手動推視圖控制器入堆棧。您可以使用故事板做到這一點。

使用Storyboard來定義導航

到目前為止,您已經瞭解瞭如何使用Storyboard將在您的應用程序創建一個單一的內容畫面。現在,您將瞭解如何使用它們來定義你的應用程序的多個場景之間的流動。
在第一個教程中,您曾與故事板有一個場景。在大多數的應用程序,一個Storyboard是由一個序列場景,每一個代表一個視圖控制器和視圖層次。在源和目的地:場景是由segues連接,它代表瞭兩個視圖控制器之間的過渡連接。

有幾種類型的塞格斯您可以創建:

Push。推送Segue添加目標視圖控制器到導航堆棧。推送Segue僅可用於在源視圖控制器被連接到導航控制器。
Modal。模態Segue僅僅是一個視圖控制器提出另一個控制器模態,需要用戶返回到應用程序的主流程之前所提出的控制器上執行一些操作。模態視圖控制器不會被添加到導航堆棧,相反,它通常被認為是呈現視圖控制器的孩子。在呈現視圖控制器負責貶創建和呈現模式視圖控制器。
Custom。你可以通過繼承UIStoryboardSegue定義您自己的自定義轉換。
Unwind。退繞塞蓋向後移動一個或多個Segue給用戶返回一個視圖控制器的現有實例。您可以使用展開Segue來實施逆向導航。
代替Segue的,場景也可以通過一個連接關系。例如,有導航控制器及其根視圖控制器之間的關系。在這種情況下,該關系表示根視圖控制器由導航控制器的遏制。
當您使用Storyboard來規劃用戶界面為你的應用程序,它重要的是要確保的視圖控制器中的一個被標記為初始視圖控制器。在運行時,這就是視圖控制器,其內容就會被展示在第一時間應用程序啟動並從中你可以轉換到其他視圖控制器內容的視圖是必要的。
現在,你已經學會瞭用視圖和視圖控制器在故事板的基礎知識,是時候把這些知識轉化為你的todolist的應用在未來的教程。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。