天天看點

iOS開發UI篇—多控制器和導航控制器簡單介紹

一、多控制器

一個ios的app很少隻由一個控制器組成,除非這個app極其簡單。當app中有多個控制器的時候,我們就需要對這些控制器進行管理

有多個view時,可以用一個大的view去管理1個或者多個小view,控制器也是如此,用1個控制器去管理其他多個控制器

比如,用一個控制器a去管理3個控制器b、c、d。控制器a被稱為控制器b、c、d的“父控制器”;控制器b、c、d的被稱為控制器a的“子控制器”

為了便于管理控制器,ios提供了2個比較特殊的控制器

uinavigationcontroller

uitabbarcontroller

二、導航控制器

利用uinavigationcontroller,可以輕松地管理多個控制器,輕松完成控制器之間的切換,典型例子就是系統自帶的“設定”應用

如圖:

iOS開發UI篇—多控制器和導航控制器簡單介紹

三、uinavigationcontroller的使用步驟

(1)初始化uinavigationcontroller

(2)設定uiwindow的rootviewcontroller為uinavigationcontroller

(3)根據具體情況,通過push方法添加對應個數的子控制器

iOS開發UI篇—多控制器和導航控制器簡單介紹
iOS開發UI篇—多控制器和導航控制器簡單介紹

運作模拟器,可以看到一個簡陋的有着三個子控制器管理着頁面。

但呈現在我們眼前的隻能有一個界面,我們沒有必要一次性建立三個控制器在這裡等着。

要求:建立三個子控制器,每個子控制器view的界面上放一個按鈕,點選可以跳轉到下一個界面。

實作(完成三個頁面間通過按鈕進行簡單的跳轉):

說明:這裡把第一個子控制器的建立等代碼寫在了代理方法中。

yyappdelegate.m檔案代碼

iOS開發UI篇—多控制器和導航控制器簡單介紹
iOS開發UI篇—多控制器和導航控制器簡單介紹

建立三個子控件類及對應的xib檔案

yyoneviewcontroller.m檔案

iOS開發UI篇—多控制器和導航控制器簡單介紹
iOS開發UI篇—多控制器和導航控制器簡單介紹

yytwoviewcontroller.m檔案

iOS開發UI篇—多控制器和導航控制器簡單介紹
iOS開發UI篇—多控制器和導航控制器簡單介紹

提示:隻要目前控制器是導航控制器的子控制器,那麼就可以通過self.navigationcontroller屬性直接擷取到目前控制器所在的導航控制器

項目檔案結構和運作效果:

iOS開發UI篇—多控制器和導航控制器簡單介紹

繼續閱讀