- 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.