《iPhone與iPad開發實戰—iOS經典應用剖析》連載三
3.3 應用實戰與講解這一節我們將實際編寫這個應用,邊做邊講解的方式。按照搭建應用骨架、視圖翻轉動畫、主視圖UI和代碼、主視圖控製器代碼、背後視圖UI和代碼、背後視圖控製器,這樣的順序編寫和講解。
3.3.1 構建應用骨架
在本書采用Xcode3.2工具中提供了一個編寫實用型應用程序的模板,圖3-11是Xcode3.2的模板,其中Utility Application選項就是創建實用型應用程序。

圖3-11 實用型應用模板
但是遺憾的是本應用的原作者代碼,沒有采用Xcode3.2模板,我們比較一下它們的不同,使用Xcode3.2生成的類圖如圖3-12所示。

圖3-12 Xcode3.2生成的類
為了尊重原作者,在本書中如果涉及到由於曆史版本引起的問題,我們還是按照原作者應用始版本介紹和構建應用。
比較類圖3-8和3-12會發現,Xcode3.2沒有MainView 和FlipsideView兩個自定義視圖類,而是直接采用UIView類,Xcode3.2中MainViewController類還實現了一個FlipsideViewControllerDelegate協議,FlipsideViewControllerDelegate協議是舊版本中沒有的,而Xcode3.2中沒有RootViewController控製器類。這正是兩個版本區別的關鍵,在舊版本中視圖跳轉和返回都是通過根控製器RootViewController實現控製的,在Xcode3.2中是通過MainViewController實現FlipsideViewControllerDelegate協議視圖翻轉控製的,MainViewController即使主視圖控製器也是根控製器。
由於我們要構建與舊版本一樣的類,所以要添加MainView、FlipsideView和RootViewController類。先創建MainView選擇Main View文件夾,右鍵菜單New File彈出對話框如圖3-13所示,選擇Objective-C class,Subclass of為UIView,選擇好後點擊Next,在類名中輸入MainView。

圖3-13 創建UIVew
MainView生成之後還需要修改對應的nib文件,在Xcode中雙擊MainView.xib然後Interface Builder會打開MainView.xib窗口如圖3-14所示,

圖3-14 MainView.xib窗口
從圖3-14中可以看到View的類型是UIView,我們需要把它改成為MainView,為了實現這一個目的,請選擇菜單Tools->Inspector打開檢查器窗口,選擇 標簽打開檢查器如圖3-15所示,選擇MainView類。

圖3-15視圖檢查器
選中雙擊Main View打開設計窗口如圖3-16所示,該視圖是使用Xcode3.2工具生成的,我們需要恢複到默認視圖狀態,如圖3-17所示。

圖3-16 Xcode3.2模板生成視圖 圖3-17 修改後視圖
為了達到這一效果需要刪除 按鈕,並把視圖背景修改顏色為默認顏色。刪除 按鈕過程是用鼠標點中該按鈕,使用鍵盤delete就可以刪除了,而視圖背景修改需要打開檢查器窗口選擇標簽 後如圖3-18,修改Background屬性使背景顏色被默認白色。

圖3-18 修改視圖背景
按照上麵的方法創建FlipsideView類,該類創建完成需要修改它對應的FlipsideView.xib文件,在Interface Builder會打開FlipsideView.xib窗口,選中雙擊Flipside View打開設計窗口如圖3-19所示,該視圖是使用Xcode3.2工具生成的,我們需要恢複到默認視圖狀態,如圖3-20所示。

圖3-19 Xcode3.2模板生成視圖 圖3-20 修改後視圖
為達到圖3-20效果,需要刪除Title部分導航欄,在本應用中導航欄是通過代碼動態添加到視圖上麵去的,而不是在視圖設計窗口中拖拽上去的。刪除導航欄和修完成背景後我們會發現視圖變成如圖3-21所示帶有狀態欄。

圖3-21 狀態欄視圖
我們需要去掉這個狀態欄,打開視圖檢查器如圖3-22所示,將Status Bar選擇為Unspecified。

圖3-22 視圖檢查器
並配置它們的創建過程完全一樣這裏就不再過多介紹了。下麵介紹RootViewController創建和配置,選擇一個文件夾,右鍵菜單New File彈出對話框如圖3-23所示,選擇UIViewController subclass,並在Options部分去掉With XIB for user interface,就是不創建nib文件。選擇好後點擊Next,在類名中輸入RootViewController。

圖3-23 創建視圖控製器
RootViewController生成之後還需要修改MainWindow.xib文件,在Xcode中雙擊MainWindow.xib然後Interface Builder會打開MainWindow.xib窗口如圖3-24所示。點中MainViewController後選擇菜單Tools->Inspector打開檢查器窗口,選擇 標簽打開檢查器窗口在Class中選擇RootViewController類。

圖3-24 MainWindow.xib窗口
最後更新:2017-04-02 17:09:25