什麼是mvc模型:模型視圖控制設計模式。ios
![](http://static.javashuo.com/static/loading.gif)
- View 與Model不直接進行交互
- 經過Controler間接實現View與model的交互
- controler接收View的用戶事件更新Model
- Model更新後通知controler及時更新View用戶界面
- MVC模式中經常使用到delegate等設計模式
窗口:設計模式
- UIwindow做爲程序的窗口, 容納界面元素
- 程序中通常只有一個window,默認由系統初始化
- 在ios中UIwindow是UIView的子類
- UIwindow的初始化方法:
[[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds]];mvc
視圖:設計
- UIView是基本的視圖類,表示屏幕上的一塊矩形區域
- UIview用於展現內容以及接收用戶交互事件
- UIview能夠管理其下顯示的全部子視圖
屏幕的座標系orm
左上角是座標原點blog
視圖(層次,大小,位置)生命週期
- subview在顯示到界面上時,是位於superview上面的越晚加入的顯示在越上層,
- 能夠經過tag值從父視圖中找到對應的視圖。
- - (UIview)viewWithTag:(NSInteger) aTag:
- frame屬性是邊框矩形指定視圖相對與父視圖座標系統的位置和大小(相對於父視圖)
- bounds屬性是邊界矩形,定義視圖相對於本地座標系統的位置和大小(想對於自己)
- center屬性是邊框矩形的中心點。
視圖(屬性)事件
- frame 相對於父視圖的位置和大小
- bounds 相對於本身的位置和大小
- center 相對於父視圖的中心
- transform變換屬性
- window 當前View所在的window
- alpha 透明度(CGFloat)
- tag 區分的標示(NSInteger)
- layer 視圖層(CAlayer)
視圖(操做)it
初始化 - (instancetype)initWithFrame:(CGRect)frame;io
添加視圖
插入視圖
整理視圖
移除視圖
視圖控制器(UIViewCOntroller)
視圖控制器封裝了一個UIVIew,而且管理某個頁面區域的全部視圖
視圖控制器是模型和視圖之間的媒介,模型和視圖經過試圖控制器來交互
多種類型的的控制器:
UIViewController,
UINavigationController,
UITabBarController
視圖控制器提供了多種界面響應的方法,以及界面的生命週期方法,如監控界面的加載,旋轉等。