最近讀書上的例子,發現例子有點老,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導入到項目中)
最后: 運行程序如圖:


![Description: C:\Users\XY\AppData\Roaming\Windows Live Writer\PostSupportingFiles\f3074982-045c-44ae-9bf0-8e3f562150c3\image{0}_thumb[1].png](/image/aHR0cHM6Ly9pbWFnZXMuY25ibG9ncy5jb20vY25ibG9nc19jb20vZ25mYWNlLzIwMTIwOS8yMDEyMDkwMTE3MDQ0OTQ2OTcucG5n.png)
![Description: C:\Users\XY\AppData\Roaming\Windows Live Writer\PostSupportingFiles\f3074982-045c-44ae-9bf0-8e3f562150c3\4@~W8F%6)39XDJCR[[0G2Q3_thumb[2].jpg](/image/aHR0cHM6Ly9pbWFnZXMuY25ibG9ncy5jb20vY25ibG9nc19jb20vZ25mYWNlLzIwMTIwOS8yMDEyMDkwMTE3MDQ1MTk0ODMuanBn.png)
![Description: C:\Users\XY\AppData\Roaming\Windows Live Writer\PostSupportingFiles\f3074982-045c-44ae-9bf0-8e3f562150c3\image{0}_thumb[13].png](/image/aHR0cHM6Ly9pbWFnZXMuY25ibG9ncy5jb20vY25ibG9nc19jb20vZ25mYWNlLzIwMTIwOS8yMDEyMDkwMTE3MDQ1NDc1ODIucG5n.png)