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. iOS中时间与时间戳的相互转化

    //获取当前系统时间的时间戳 #pragma mark - 获取当前时间的 时间戳 +(NSInteger)getNowTimestamp{ NSDateFormatter *formatter = ...

  2. JVM调优(二)经验参数设置

    调优设置具体解析 堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般限制在1.5 ...

  3. NDK时间测量

    在NDK中测量时间,有四种方法. LINUX系统方法 gettimeofday 以秒和微秒的形式返回自从Epoch(1970-01-01 00:00:00 +0000 (UTC))时间以来,系统已经经 ...

  4. C# 简单实现直线方程,抛物线方程

    本例子是简单的在WinForm程序中实现在坐标系中绘制直线方程,抛物线方程,点.重新学习解析几何方面的知识.仅供学习分享使用,如有不足之处,还请指正. 涉及知识点: 直线方程的表达方式:一般表达式Ax ...

  5. java基础(一)---数据类型&Math方法&强制转换

    数据类型及各种Math类方法 public class HelloWorld { public static void main(String args[]) { //各种数据类型的熟悉掌握,强制类型 ...

  6. AIOps背景/所应具备技术能力分析(上)

    本文篇幅较长,分为上,中,下,三个部分进行连载.内容分别为:AIOps 背景/所应具备技术能力分析(上),AIOps 常见的误解(中),挑战及建议(下). 前言 我大概是 5,6 年前开始接触 ITO ...

  7. [20181015]为什么是3秒.txt

    [20181015]为什么是3秒.txt --//以前测试:连接http://blog.itpub.net/267265/viewspace-2144765/=>为什么是12秒.txt.--// ...

  8. [20170604]12c Top Frequency histogram补充.txt

    [20170604]12c Top Frequency histogram补充.txt 1.环境:SCOTT@test01p> @ ver1PORT_STRING                 ...

  9. Linux内核线程kernel thread详解--Linux进程的管理与调度(十)

    内核线程 为什么需要内核线程 Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求). 内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的. 内核线程 ...

  10. Ubuntu下永久修改主机名和创建用户

    使用hostname 进行修改. 创建用户,修改密码