- UIKit UIWindow
- UIKit 完整繼承關系結構圖
- UIKit
- UIWindow
- 什麼是UIWindow
- UIWindow 與 UIView
- 視窗UIWindow的建立
- UIWindow 級别
UIKit & UIWindow
0.UIKit 完整繼承關系結構圖
UIKit 完整繼承關系結構圖

1.UIKit
UIKit 是一個提供iOS上圖形,事件驅動的架構(主要有三大基類).
1. UIView 視圖基類
2. UIViewController 視圖控制器基類
3. UIResponder 可以接收觸摸事件的基類對象
> 下面說的視窗是UIView視圖的一個之類,其主要功能是:
1. 提供一個區域來顯示視圖
2. 将事件分發給視圖,子視圖.
- 一個應用通常隻有一個視窗.
2.UIWindow
1. 什麼是UIWindow
視窗UIWindow繼承自UIView:它包含了應用程式的可視化内容,它為視圖和其他應用程式對象在觸摸事件中提供關鍵性作用,它與視圖控制器一起寫作來呈現資料.
2. UIWindow 與 UIView
在iOS中,使視圖和視窗顯示應用程式的内容,UIWindow本身不具有任何可見的内容,但它對于應用程式的UIView提供了一個基本的容器. UIView定義你想要用什麼内容來布局你螢幕,例如可顯示的圖形,文本,按鈕,動畫或者混合的内容,還可以使用UIView來管理群組織其他UIView.
3. 視窗UIWindow的建立
建立一個工程後,Xcode會在AppDelegate.m中自動建立一個UIWindow.
/**
建立一個全屏的UIWindow,其中UIScreen對象指的是目前iOS裝置的實體螢幕.
[UIScreen mainScreen].bounds]代表目前螢幕的大小
*/
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
//設定顔色
self.window.backgroundColor = [UIColor purpleColor];
//建立一個ViewController
UIViewController * viewController = [[UIViewController alloc]init];
//并指定為Window的根控制器 / rootViewController /
self.window.rootViewController = viewController ;
//設定Window顯示并可見 / makeKeyAndVisible /
[self.window makeKeyAndVisible];
4. UIWindow 級别
> UIWindow 有三個顯示的優先級别:
- UIWindowLevelAlert 級别最高 2000.00
- UIWindowLevelStatusBar 級别中等 1000.00
- UIWindowLevelNormal 級别最低 0.00
//設定一個視窗的級别(以Window為例)
self.window.windowLevel = UIWindowLevelAlert ;
//獲得一個視窗的級别
NSLog(@"Level : %.2f ",self.window.windowLevel);
//列印優先級别的具體值
NSLog(@" - UIWindowLevelAlert 級别最高 %.2f",UIWindowLevelAlert);
NSLog(@" - UIWindowLevelStatusBar 級别中等 %.2f",UIWindowLevelStatusBar);
NSLog(@" - UIWindowLevelNormal 級别最低 %.2f",UIWindowLevelNormal);
2015-04-14 01:22:12 Write By MarkDown © Yun.