iOS系列 基礎篇 07 Action動作和輸出口,iosaction
iOS系列 基礎篇 07 Action動作和輸出口
目錄:
1. 前言及案例說明
2. 什麼是動作?
3. 什麼是輸出口?
4. 實戰
5. 結尾
1. 前言及案例說明
上篇內容我們學習了標籤和按鈕,下面呢 我們通過一個具備使用者互動功能的工程案例進一步練習這兩個控制項的使用,以及動作和輸出口的控制。
此案例基於上篇內容的介面設計,功能的概念流程
1 private void OnClick(object sender, EventArgs e) {2 // ...3 }
不過在iOS中,動作代碼的傳回值類型為IBAction,範例程式碼如下:
1 @IBAction func onClick(sender: AnyObject) {2 // ...3 }
該方法的傳回型別是IBAction,說明這個方法是一個動作。
與.NET WinForm中動作方法相同:sender是參數,是事件來源,表示發出當前事件的控制項對象,也可以省略如下:
1 @IBAction func onClick() {2 // ...3 }
3. 什麼是輸出口?
注意:
“輸出口”這玩意兒叫法挺奇葩,可能有的朋友不理解,我就從.NET和Android方面舉兩個例子吧(別的我也不會。。)。
大家能聽懂最好,聽不懂的話不必深究這兩個例子,直接轉眼來看iOS的就行了。
在.NET WinForm的設計介面中,我們拖放一個控制項,VS會自動在當前表單的後置代碼(xxx.Designer.cs)中產生響應的控制項建立代碼。
這樣,我們就可以在前置代碼檔案中使用 this.控制項名 來訪問後置代碼中的控制項變數,從而操作表單上的控制項。
在Android中,我們在設計介面上擺放控制項之後,如果需要在代碼檔案中訪問該控制項,例如:
1 Button btn = (Button)findViewByid(R.id.btnXXX);
這樣就可以在功能代碼中,通過對象btn來控制介面上id為btnXXX的控制項了。
從這兩個例子大家應該就能猜到了,iOS中的“輸出口”其實指的就是上面這個控制項在功能代碼中的對象。
在iOS中,為了使控制項的某個事件與定義的動作關聯在一起,我們可以通過Interface Builder或者代碼建立關聯,本篇中我們重點是用第一種方式。
跟動作一樣,我們也需要為輸出口和控制項建立聯絡,這裡也可以通過Interface Builder或者代碼來實現。
提示:
Interface Builder設計器就是Interface Builder,在Xcode 4之後被整合到Xcode工具中。
開啟Storyboard故事板或xib檔案,就會自動開啟Interface Builder設計器。
4. 實戰
為了實現本篇的目標案例,使按鈕能夠控制標籤,我們需要給標籤定義並串連輸出口,給按鈕實現動作。
點擊右上方的“開啟輔助編輯器”按鈕,開啟的介面,這樣,就可以在設計介面的同時編寫功能代碼了:
5. 小結
雖然應用並不是多麼的高大上,但是畢竟是咱們親手做出來的第一個案例。還是蠻激動的。
“麻雀雖小 五髒俱全”,我們一起加油,讓這隻麻雀飛的更傲嬌、