ios--window的基本概念和用法

来源:互联网 发布:geohot编程能力 编辑:程序博客网 时间:2024/06/03 14:33

一、UIKIT框架结构

      UIKit是一个提供了在ios上的实现图形,事件驱动程序的框架

   UIView是视图的基类

UIViewController是视图控制器的基类。

UIResponder表示一个可以接受触摸屏上的触摸事件的对象。

窗口是视图的一个子类。窗口的主要功能:一是提供一个区域来显示视图。

    二是将事件(event)分发给视图。一个应用通常只有一个窗口。

二、窗口与视图

在ios中,使用窗口与视图在屏幕上显示应用程序的内容。窗口本身不具有任何可见的内容,但它对于应用程序的视图提供一个基本的容器。视图定义你想要的一些内容填充的窗口的一部分。例如:可能显示图像、文本、形状或某种组合的视图。还可以使用视图组织和管理的其他视图。

每个应用程序至少需要一个窗口,通常窗口用UIWindow类的实例来表示。UIWindow继承自UIView。

        Window对象有以下职责:

   它包含了应用程序的可视化的内容。

   它为视图和其他应用程序对象在触摸事件中提供了关键性的作用。

   它与视图控制器一起协作来呈现数据。

三、获取当前UIWindow和级别 

      1、通过UIApplication获取当前keyWindow。

       2、keyWindow是用来管理键盘以及非触摸类的消息,并且只能有一个window是keyWindow。

       3、UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow:

       4、每个UIWindow对象配置windowLevel属性,大部分时候不应该去改变windowLevel。

       5、UIWindow有3个级别,对应了3种显示优先级。通过windowLevel设置,优先级为:UIWindowLevelAlert > UIWindowLevelStatusBar >  UIWindowLevelNormal

   代码:

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    // Override point for customization after application launch.    self.window.backgroundColor = [UIColor whiteColor];    [self.window makeKeyAndVisible];    NSLog(@"level : %.2f",self.window.windowLevel);    NSLog(@"Normal : %.2f",UIWindowLevelNormal);    NSLog(@"status: %.2f",UIWindowLevelStatusBar);    NSLog(@"alert : %.2f",UIWindowLevelAlert);    return YES;
    运行结果:
    2014-08-04 21:43:33.870 UIWindow2.1[5880:275111] level : 0.00    2014-08-04 21:43:33.871 UIWindow2.1[5880:275111] Normal : 0.00    2014-08-04 21:43:33.872 UIWindow2.1[5880:275111] status: 1000.00    2014-08-04 21:43:33.872 UIWindow2.1[5880:275111] alert : 2000.00    2014-08-04 21:43:33.872 UIWindow2.1[5880:275111] Application 

0 0
原创粉丝点击