您的位置:首页 > 产品设计 > UI/UE

[UI界面]-UIWindow

2014-02-25 16:19 447 查看
  app应用被启动加载后,通常情况下,就会有且仅有一个UIWindow实例。其目的是将需要在屏幕上显示的内容展示给我们。

一、屏幕相关的知识

    1> iPhone屏幕分辨率:

      iphone4之前的设备:320 * 480

      iphone4和iphone4S: 640 * 960

      iphone5:640 * 1136

    2>UIScreen类

      UIScreen类是当前屏幕的类,一般创建实例都是用它的类方法。[UIScreen mainScreen]。

      个人建议在写viewController的UI布局时,可以直接根据屏幕类的宽和高进行布局。

      注意:对于我们而言,当屏幕旋转90°,我们会认为屏幕的宽和屏幕的高互换。但是,UIScreen类并没有帮我们做到。

二、UIWindow的常用方法

    1>创建一个全屏的window

      self.window = [[[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease];

    2>设置/改变rootViewController属性

      self.window.rootViewController = rootViewController;//假设rootViewController已经存在

    3>将window设置为keyWindow并显示

      [self.window makeKeyAndVisible];

    一般情况下,上面的代码中,除了设置/改变rootViewController需要自己写之外,都会由xcode自动生成。

    UIWindow是UIView的子类,所以UIView能够使用的方法UIWindow都能够调用。

    但是通常情况下,我们不调用UIWindow的方法。这和UIWindow的作用有关。

    UIWindow主要有两个作用:一是提供一个区域来显示UIView,二是将事件分发给其区域内的UIView。我们需要做的是,实现第一个作用。

一般都是通过改变rootViewController属性来实现。

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: