码迷,mamicode.com
首页 > Windows程序 > 详细

UIWindow

时间:2015-08-27 16:55:54      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

以下内容是官网的英文翻译,有任何差错请批评指正!

    UIWindow定义为“窗体”对象,用来管理和协调显示在设备屏幕上的视图,一个app只有一个“窗体”,除非app讲内容投射到其他的设备上。

两个主要的功能:显示视图和给视图分发事件。你可以改变window的根视图来改变你APP的显示内容;而不是创建新的窗体。window有一个默认的UIWindowLevelNormal级别,这个级别代表着窗体在Z轴的位置,例如系统的ALert窗体就回出现在normal级别的窗体之前,如果同级别的窗体,只会显示第一次生命的窗体。

注意:

当你用storyboards 和xcode模板创建爱拍拍,如果你在IB上创建窗体,确保你在属性监视器中选择的是全屏(在启动项)以便窗体的尺寸可以适应当前的屏幕,窗体本身是不能接受窗体边际以外的触摸事件,视图默认也不能被裁减到窗体的尺寸。不适当的尺寸可能导致无法将事件分发到窗体的所有视图。

Configuring windows


@property(nonatomic) UIWindowLevel windowLevel

Level 是有序的,例如alertWindows将会在normalwondow出现。当窗体的有新的level值,这个窗体将在同level窗体中排在最前面。

@property(nonatomic, retain) UIScreen *screen

默认情况下,所有窗体都创建在主屏幕上,如果有额外的屏幕附加载设备上,分配一个不同的screen对象给这个属性,会导致窗体会显示新的screen.

把窗口从屏幕到屏幕是一个相对昂贵的操作,要求性能的时候,不推荐这么做;推荐的做法是在第一次显示窗体的时候,改变screen.改变一个还没有被排序的窗体屏幕,是没有额外的性能开销。


@property(nonatomic, retain) UIViewController *rootViewController

根视图提供窗体内容,将view controller赋值给这个属性(用IB或是coding)。如果窗体已经存在一个视图层次结构,在新的视图被安装之前,旧的视图将被移除。默认值nil。


keyWindow Property


如果是YES,接收对象就是应用程序的主屏幕。否则NO。

Key window 是接收键盘和其他非触摸事件,一次只有一个窗口可能是关键的窗口。

- makeKeyAndVisible一个便捷的方法使接收者显示在主屏幕上(在优先级相同或是较低),你也可以隐藏和显示窗体,使用来事UIView的属性hide



UIWindow

标签:

原文地址:http://my.oschina.net/u/1536972/blog/497961

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!