iOS 第六章之視圖控制器

來源:互聯網
上載者:User

目標

常見的視圖控制器

視圖控制器的功能

iOS中的MVC

建立一個多視圖應用程式

 

1、常見的視圖控制器

UIViewController

視圖控制器的父類

每個視圖控制器都有一個主視圖

 

UINavigationController

樹狀階層上下導航

頁面頂部,高度44的一個橫條


UITabBarController

帶有一個標籤欄

可以管理多個視圖控制器

 


UITabelViewController

簡化了表格的使用

     

UIImagePickerController

從內建相簿中選擇圖片,圖片選取器

可以在相簿層次中導航


 

 

2、視圖控制器的功能

功能

管理檢視的顯示,對事件做出響應

充當使用者介面和應用程式資料模型之間的協調者

顯示

loadView         開始載入視圖

viewDidLoad      視圖載入結束

viewWillAppear   視圖即將顯示

viewDidAppear    視圖已經顯示

viewWillDisappear視圖將要消失

viewDidDisappear  視圖已經消失

回應程式向變化

shouldAutorotateToInterfaceOrientation是否支援旋轉

willRotateToInterfaceOrientation:duration:旋轉前幹什麼

willAnimateRotationToInterfaceOrientation:duration

didRotateFromInterfaceOrientation: 旋轉後幹什麼

處理低記憶體情況

記憶體不足的時候需要處理系統通知

      didReceiveMemoryWarning

 

3、iOS中的MVC

功能劃分

模型:

儲存應用程式資料的類

視圖:

視窗、控制項和其他使用者可以看到

並能與之互動的元素的組成部分

控制器:

將模型和視圖綁定在一起

確定如何處理使用者輸入的應用程式邏輯

 

原則

Controller可以直接和Model通訊

Controller也可以直接和View通訊


Model和View之間永遠不能直接通訊

iOS中的View和Controller的通訊是透明和固定的

主要通過outlet和action實現

     

View負責靜態顯示對象,由Controller的介面決定其內容顯示

View的delegate和dataSource一般就是Controller


Controller負責為View翻譯和格式化Model的資料

Model使用通知或回調等方式分發資料更新資訊,Controller可以有選擇的監聽自己感興趣的資訊


View也可以監聽廣播資訊,但一般不是Model發出的資訊

一個完整的App就是很多MVC的集合

     

 

4、建立一個多視圖應用程式

完成一個  具有兩個介面的程式,每個介面中有一個按鈕,點擊後切換到另外一個介面。

 

主要操作

(0)建立一個空的 ios工程

(1)建立根視圖控制器和nib檔案--RootViewController

(2)修改應用程式委託,啟動開啟RootViewController.xib

(3)編寫RootViewController.h,添加<切換>按鈕的事件處理

(4)修改MainWindow.xib

(5)編寫SwitchViewController.m

(6)實現內容視圖

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.