More User Interface Controls



在外文書籍 Beginning iPhone 3 Development: Exploring the iPhone SDK 裡面 Chapter 4 介紹 More User Interface control 的範例,可以學習更多 User Interface controls 的應用,和比次互動與牽連。

這個範例在畫面上我們將會有圖片,兩個輸入欄位,分別可以填寫 Name 和 Number。一個可以調整值的 bar 透過控制可以控制數值。一個切換選單可以選擇要秀 Switches 特效,或者切到按鈕出來,進行 action sheet 讓使用者做選擇。除了了解更多 iOS 特性,循序一步一步講解,讓我們體會 code-compile-debug 循環的方式,這也是軟體工程師日常工作模式。


經過這章節,可以學習到重點:

1. 顯現圖片:匯入與安排圖片 Image View ,透過控制調整圖片大小、從 Interface Builder 的圖片 inspector 裡面來設定關於這 Image View 的各種屬性。


2. 做出兩個 Text Field:引用 Text Fields,在 Text Input Traits 的 keyboard 讓它在輸入可以選擇引用的類型。要將 UI 輸入值讓 Controls 裡面抓的到,要分辨與引用 IBOutlet。要將 UI 操作產生事件,要分辨與引用 IBAction。


3. 按下任何背景可以達到收起來鍵盤效果:因為輸入數字的鍵盤沒有 Done,為了讓使用者使用起來輸入完後方便,加入了 backgroundTap method,然後將 UIView 改成 UIControl 再將 Touch Down event 拉向 -(IBAction)backgroundTap:(id)sender 串聯起來。


4. Slider Bar 可以挑選將其值顯現在 Label 上:加入 UILabel ,讓 UISlider 的 Valued Changed 可以跟 -(IBAction)sliderChanged:(id)sender 串起來。

5. 做出左右兩個 switch ,可以讓彼此互相聯動:所以要將兩者左右 value changed都拉向 -(IBAction)。


6. Button 按下去可以可以叫出 Action Sheet:將 ControlFuntionController 加入 ,實作 buttonPressed method 加入 UIActionSheet。


7. 讓使用者透過 Action Sheet 可以叫出 Alert 訊息:加入 actionSheet method,讓裡面可以帶出 UIAlertView。


8. Segmented Control 可以顯現隱藏 Switch 和 Button:將 value changed 事件拉向 - (IBAction)toggleControls:(id)sender,透過 Segment 值來決定 hidden 是要 on 或是 off。

9. 做個好的記憶體公民,記得時時做記憶體管理,在 dealloc method 裡面將有用到 property 記得 release,在 (void)viewDidUnload 也記得要將這些都清空。


當透過逐漸多的 Controller 學習,可以瞭解 IBOutlet 和 IBAction 以及和 Delegated 之間的引用,這邊真的要動手做學習,搭配 Xcode 和 Interface Builder 讓彼此可以輕鬆串聯我們要的特效出來。最後我有將實作的小 Project 放置在 gitHub https://github.com/edwardinubuntu/ControlFun,對
code 有興趣可以下載來試試。

Comments