主窗口(key window)
来源:互联网 发布:sql trigger insert 编辑:程序博客网 时间:2024/06/05 17:06
http://bbs.9ria.com/thread-250024-1-1.html
主窗口(key window)接受特定事件
一个窗口当前能接受键盘和非触摸事件时,便被认为是主窗口。而触摸事件则被投递到触摸发生的窗口,没有相应坐标值的事件被投递到主窗口。同一时刻只有一个窗口是主窗口。
大部分时间内,应用窗口是主窗口。由于iOS使用单独的窗口来显示警告视图(alert view)和输入附件视图(input accessory view),这些窗口也可以成为主窗口。例如,当一个讲稿视图或者输入附件视图有一个文本框,而用户当前正在这个文本框中输入,那么包含此输入视图的窗口便是主窗口。
绝大多数应用窗口处在同一等级
当你为应用创建一个新窗口时,UIVindow类自动赋给它一个等级,称为正常窗口等级(normal window level),这个等级对显示应用相关内容的窗口是合适的。这个等级,可以通过windowLevel属性来设置,它代表窗口相对其他窗口在z轴所处的位置。你可以使与应用相关的窗口在其他等级显示,但这不是必须的。
除了用于显示应用相关内容的窗口外,还有一些高等级的窗口,他们显示一些需要悬浮在应用内容之上的信息。例如系统状态栏和警告等。
每个窗口与一个显示设备关联
UIWindow类的screen属相代表窗口当前用于显示的显示设备。这个属性包含一个屏幕对象,也就是UIScreen的一个实例,这个对象包含显示设备的信息,例如它的边框,模式,和亮度。
屏幕对象也包括一些通知用来监听显示设备的变动。例如你可以注册显示设备的连接或断开,或者显示设备的模式或者亮度改变的通知。
窗口通知帮助你监听变化
iOS定义了许多表明窗口或者屏幕对象变化的通知。一般而言,这些通知对于支持外部显示器的应用是有帮助的。
除了表明何时键盘是可见的通知(例如UIKeyboardDidShowNotification),UIWindow还定义了以下通知:
每当应用窗口发生编程变化时,UIWindow通知就会被投递。例如,当你的应用显示或者隐藏一个窗口时,UIWindowDidBecomeVisibleNotification和UIWindowDidBecomeHiddenNotification通知相应地就会被投递。值得注意的是,当应用转移到后台时,这些通知不会被投递:即便应用转到后台时,窗口不会显示,窗口在应用的上下文中仍然被认为是可见的。
大多数应用不需要处理UIWindowDidBecomeVisibleNotification和UIWindowDidBecomeHiddenNotification通知,很少有应用拥有一个以上窗口。
UIWindowDidBecomeKeyNotification 和 UIWindowDidResignKeyNotification能帮助你跟踪应用窗口何时是主窗口,何时不是。当你通过显示一个输入配件视图来或者用户输入时,你也许需要知道一个窗口是不是主窗口。
窗口和屏幕支持少许其他任务
一般来说,除了需要支持外接显示器这种情况外,你很少需要访问应用的窗口和屏幕对象。当应用启动后,也就是窗口被创建,加载,以及设置后,只有少许事情需要由窗口处理。
· 使用窗口对象来转换点和矩形的坐标。例如,你有一个窗口坐标系中的值,,你可能想把它转换成一个特定视图坐标系中的值,然后使用。
· 使用窗口的通知来跟踪窗口相关的变化。窗口在显示和隐藏以及成为或放弃主窗口状态时,都会生成通知。你可以借助这些通知在应用的其他地方执行一些行动。
类似地,只有个别原因才需要访问屏幕对象。其中一个原因是你需要调节屏幕的亮度。例如,你可以使用brightness属性让用户可以调节iOS设备的屏幕的亮度。你还可以通过wantsSoftwareDimming属性来表明应用需要将屏幕亮度调整到比中等亮度偏暗的级别。(需要注意的是,打开wantsSoftwareDimming可能会对性能有影响,因为这种昏暗是通过软件来实现的。)
原文链接:http://my.oschina.net/iOSFocus/blog/89224
0 0
- 主窗口(key window)
- Window 窗口
- window 窗口
- window 窗口
- window窗口
- key window蒙层
- window窗口和窗口所有者
- iOS开发 ☞ key window
- Window 窗口层次关系
- 框窗口(Chromeless Window)
- Window 窗口层次关系
- window 窗口对象操作
- window对象弹出窗口
- Window 窗口层次关系
- Window 窗口层次关系
- window窗口操作
- 弹出窗口(window.showModelessDialog)
- window窗口背景加载
- 各大公司2016在线笔试(一)
- 最长公共子序列
- MAC电脑DNS劫持解决方法
- nginx文件类型错误解析漏洞
- ubuntu完美搭建git服务器-完善版
- 主窗口(key window)
- 【数据结构与算法】——排序综述
- 四元素(Quaternion)与旋转
- 更新VPS上PHP到最新版
- 简单使用Svn Hook
- 软件测试管理基础知识
- entos搭建SVN实录,并部署项目
- 映射虚拟内存
- Android仿百度加载动画