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. Android Studio多渠道打包(一)

    1. 多渠道的概念 APP发布到不同的应用平台,监测用户是从哪个平台安装的. 2. 为什么要多渠道打包 统计用户安装APP来源 批量修改生成的apk文件名 可更改包名 生成不同应用名称或图标 3.多渠 ...

  2. Linux命令工作中常用总结

    1. 搜索 在vi和vim中如果打开一个很大的文件,不容易找到对应的内容,可以使用自带的搜索关键字进行搜索定位: 在vi和vim界面中输入:"/"(反斜杠),之后会出现一个输入框让 ...

  3. XML 和 DTD

    1.XML 1.1xml简介 a)xml,eXtensible Markup Language,可扩展标记语言,是一种标记语言: b)xml是一种非常灵活的语言,没有固定的标签,所有的额标签都可以自定 ...

  4. python leetcode 字符串相乘

    给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式. 示例 1: 输入: num1 = "2", num ...

  5. javascript的隐式类型转换

    首先简单了解js的typeof,会返回六种类型 即 number string boolen function object undefined 也就是六种基本数据类型 显示类型转换大概有以下几种: ...

  6. LeetCode题解之Squares of a Sorted Array

    1.题目描述 2.问题分析 使用过两个计数器. 3.代码 class Solution { public: vector<int> sortedSquares(vector<int& ...

  7. Visual Studio Team Services 动手实验

    Visual Studio Team Services 动手实验 概述 为Visual Studio Team Services提供的动手实验,要完成实验首先需要满足以下条件: Visual Stud ...

  8. SQL Server DATA文件夹下audittrace20180124152845_52.trc类文件异常增多

    同事告知某现场SQL Server2008R2数据库的DATA文件夹下audittrace开头的trc文件不断增多,占用较大空间,因此需要关停,尝试解决步骤如下: 1.查看是否有后台开启的trace ...

  9. window.onunload中使用HTTP请求

    在页面关闭时触发window.onunload 在onunload中要使用http请求,需要使用同步请求: 如: $.ajax({ url: url, async: false }); iframe页 ...

  10. IO测试工具之fio详解

    目前主流的第三方IO测试工具有fio.iometer和Orion,这三种工具各有千秋. fio在Linux系统下使用比较方便,iometer在window系统下使用比较方便,Orion是oracle的 ...