最近讀書上的例子,發現例子有點老,xcode發生了變化,所以寫一篇視圖切換的帖子,給自己做個參考.
話不多說,讓我們開始把!
實現思路:
這里我們實現兩個視圖之間的切換.
1. 我們需要兩個視圖(xib文件 - FirstView.xib SecondView.xib)
2. 我們需要三個視圖控制類FirstViewController, SecondViewController, SwitchViewController
這里我們為什么需要三個視圖控制類呢?
FirstView -- FirstViewController
SecondView -- SecondViewController
SwitchViewController -- 轉換 -- [ FirstView < - - > SencondView ]
代碼實現:
一. 搭建項目 ---
1. 打開xcode File -- > New... --> project -- >
選擇 Empty Application (xcode 3 是 Window-base Application).
然后點擊下一步,為project起個名字,為changeViewTest
這里這三個不要選.
到這里,我們的項目初步就搭建好了.
---------- 二. 創造視圖與視圖類 --------
1.在項目包下,右鍵 --- new --- New File --- 左面選擇User interface
選View
2. 下一步,在Device Family 選在iphone
3. 下一步,起名叫FirstView
生成的FirstView.xib就是相應的文件了
接下來我們用同樣的方法,創建SecondView.xib;
4. 在每 *View.xib里添加控件,我這里分別為兩個view添加一個button,label控件. 如圖.
5. 現在我們們對應FirstView.xib和SecondView.xib分別創建視圖類FirstViewController和SecondViewController.
6. 創建FirstViewController類繼承自UIViewController.
創建SecondViewController類繼承自UIViewController.
7. 創建完之后如圖:
8. 把視圖與視圖類關聯起來.
[FirstView – FirstViewController ]
9. 把視圖與視圖類關聯起來.
選擇FirstView.xib,然后選擇File’s Owner,然后在屬性選擇器里,把Custom Class寫成FirstViewController. 如圖:
10. 把當前的視圖的View與outlets關聯.
左鍵點擊view拉直線
完事后,我們就把視圖和視圖類關聯到一起了.
11.添加控制ViewController的類:SwitchViewController
在控制類SwitchViewController添加代碼,實現對2個視圖的跳轉。
說明: initView 方法用來程序加載時初始化view,showFirstView方法用來顯示第一個view,showSecondView用來顯示第二view
接下圖:
--------- 三. 委托類,激活SwitchViewController的控制功能 --------
1.選中AppDelegate.h. 添加代碼如下:
2. 接下來在AppDelegate.m中實現:
+ (AppDelegate *) App {
return (AppDelegate *) [[UIApplication sharedApplication] delegate];
}
3. 把swicthViewnController設置為window的rootViewController,以便操作視圖.
----- 最后,實現FirstViewController與SecondViewController的視圖切換 ----
1. 在FirstViewController中添加IBAction,實現按鈕的切換動作,如下:
- (IBAction) buttonClick: (id) sender {
[[AppDelegate App].switchViewController showSecondView];
}
2. 在SecondViewController中添加IBAction,實現按鈕的切換動作,如下:
(前提是你要把AppDelegate導入到項目中)
最后: 運行程序如圖: