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

一、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 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值