UIWindow定义了一个window对象,其用于管理和协调一个app在设备屏幕上的显示。除非一个app能在外部设备上显示内容,一般就只有一个window。

  window的主要功能:1)提供一个区域来显示views;2)发送events给views。

  如果想要改变你的app显示的内容,你可以改变window的根视图,但你不能创建一个新的window对象。

   @property(nonatomic) UIWindowLevel windowLevel   // 默认值为0.0.

const UIWindowLevel UIWindowLevelNormal;
const UIWindowLevel UIWindowLevelAlert;
const UIWindowLevel UIWindowLevelStatusBar;
typedef CGFloat UIWindowLevel;

   @property(nonatomic, strong) UIScreen *screen   // 默认地,全部windows都在主设备屏幕上创建

   @property(nonatomic, strong) UIViewController *rootViewController   // 默认值为nil。将一个视图控制器赋给rootViewController,将是视图控制器的views作为window的内容视图。

  @property(nonatomic, readonly, getter=isKeyWindow) BOOL keyWindow   // keyWindow用来接收键盘和其他非触控事件。一次只能有一个window未keyWindow。

  - (void)makeKeyAndVisible  // 使receiver成为主窗口,并显示在其他一样水平或低水平的窗口之前。

   - (void)becomeKeyWindow   // 当receiver成为了key window时会被自动调用。永远不要试图直接调用该方法。然后,会公布一个UIWindowDidBecomeKeyNotification到默认通知中心。

   - (void)makeKeyWindow   //使receiver成为主窗口。

   - (void)resignKeyWindow   // 当receiver放弃key window时会被自动调用。永远不要试图直接调用该方法。然后,会公布一个UIWindowDidResignKeyNotification到默认通知中心。

   - (CGPoint)convertPoint:(CGPoint)point toWindow:(UIWindow *)window   

   - (CGPoint)convertPoint:(CGPoint)point fromWindow:(UIWindow *)window

   - (CGRect)convertRect:(CGRect)rect toWindow:(UIWindow *)window

   - (CGRect)convertRect:(CGRect)rect fromWindow:(UIWindow *)window

   - (void)sendEvent:(UIEvent *)event

UIWindow 官方文档解析的更多相关文章

  1. node.js官方文档解析 02—buffer 缓冲器

    Buffer 类的实例类似于整数数组,但 Buffer 的大小是固定的.且在 V8 堆外分配物理内存.Buffer 的大小在被创建时确定,且无法调整. Buffer 类在 Node.js 中是一个全局 ...

  2. Android Google官方文档解析之——Application Fundamentals

    Android apps are written in the java programming language.The Android SDK tools compile your code-al ...

  3. sanic官方文档解析之Deploying(部署)和Extension(扩展)

    1,Deploying(部署) 通过内置的websocket可以很简单的部署sanic项目,之后通过实例sanic.Sanic,我们可以运行run这个方法通过接下来的关键字参数 host (defau ...

  4. sanic官方文档解析之Example(一)

    1,示例 这部的文档是简单的示例集合,它能够帮助你快速的启动应用大部分的应用,这些应用大多事分类的,并且提供给ini工作的连接代码: 1.1,基础示例 这部分示例集成了提供简单sanic简单的代码 单 ...

  5. sanic官方文档解析之Custom Protocols(自定义协议)和Socket(网络套接字)

    1,Custom Protocol:自定义协议 温馨提示:自定义协议是一个高级用法,大多数的读者不需要用到此功能 通过特殊的自定义协议,你可以改变sanic的协议,自定义协议需要继承子类asyncio ...

  6. sanic官方文档解析之路由

    1,路由,路由相当于一个网址的地址,来确定网址的位置和唯一性 当http://server.url/被允许访问服务器,当最后的"/"通过路由匹配到了业务逻辑处理的函数,将会返回一个 ...

  7. sanic官方文档解析之logging和request Data

    1,sanic的logging: Sanic允许有做不同类型的日志(通过的日志,错误的日志),在基于Python3的日志API接口请求,你必须具备基本的Python3的日志知识,在你如果想创建一个新的 ...

  8. sanic官方文档解析之下载和Configuration

    1,sanic框架是做什么的? sanic的官方网址:https://sanic.readthedocs.io/en/latest/ sanic框架是一个类似于flask框架的在Python3.5以上 ...

  9. Android Google官方文档解析之——System Permissions

    Android is a privilege-separated operating system, in which each application runs with a distinct sy ...

随机推荐

  1. loadrunner脚本优化-ParameterList参数类型介绍

    脚本优化-Parameter List参数类型介绍 by:授客 QQ:1033553122 篇幅问题,这里采用网盘下载的方式和大家分享: 百度网盘分享: 链接: http://pan.baidu.co ...

  2. (网页)JavaScript周末总结(一)

    本周学习的内容总结: 1. 2章在html中使用javascript. 2. 3章Javascript的基本概念. 3. 4章变量,作用域,内存问题. 1-1:2章以下内容: 1.包含javascri ...

  3. 卸载(uninstalled)Mac os Jenkins pkg 安装包

    有些小伙伴不熟悉Jenkins, 在mac上安装,会选择pkg 安装包, 安装后又想卸载,苦于卸载不干净,今天给到一个命令即可搞定. 对应qq群号:616961231打开终端输入下面命令'/Libra ...

  4. MySQL5.7 搭建主从同步

    性能更好的新服务器申请下来了,我们决定在2台新服务器上使用mysql5.7,并且使用主从同步.读写分离架构,很不幸这个任务落到了我的头上.读写分离是在业务代码中实现的,在此不做详述,介绍一下我搭建My ...

  5. UE4照片级渲染Demo

  6. Cas 服务器 下载、编译及部署

    一直想把公司运营的项目的各个子项的认证及授权统一到Cas上,从有想法到现在快一年的时间了.现在才正式着手,有兴趣的朋友一起交流学习一下.具体项目的细节不便透露,整合的大体思路为:1.开发部署Cas服务 ...

  7. java----回文序列判断java

    import java.util.Scanner; public class test02 { public static void main(String[] args) { Scanner in ...

  8. MongoDB数据库简单操作

    之前学过的有mysql数据库,现在我们学习一种非关系型数据库 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数 ...

  9. Windows Server 2016-管理Active Directory复制任务

    Repadmin.exe可帮助管理员诊断运行Microsoft Windows操作系统的域控制器之间的Active Directory复制问题. Repadmin.exe内置于Windows Serv ...

  10. Metasploit渗透测试实际应用

    Metasploit:如何在 Metasploit 中使用反弹 Shell https://xz.aliyun.com/t/2380 Metasploit:如何使用 msfvenom https:// ...