博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UIWindow
阅读量:6995 次
发布时间:2019-06-27

本文共 1008 字,大约阅读时间需要 3 分钟。

hot3.png

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

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

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

注意:

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

Configuring windows

@property(nonatomic) windowLevel

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

@property(nonatomic, retain) *screen

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

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

@property(nonatomic, retain) *rootViewController

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

 Property

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

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

转载于:https://my.oschina.net/u/1536972/blog/497961

你可能感兴趣的文章