美文网首页
简析UIWindow

简析UIWindow

作者: 一个人的思考 | 来源:发表于2017-05-08 09:15 被阅读8次
Snip20150707_4.pngSnip20150707_4.png
  • 添加UIView到UIWindow中两种常见方式:

  • -(void)addSubview:(UIView *)view;
    直接将view添加到UIWindow中,但并不会理会view对应的UIViewController

  • @property(nonatomic,retain) UIViewController *rootViewController;
    自动将rootViewController的view添加到UIWindow中,负责管理rootViewController的生命周期

  • 常用方法

  • -(void)makeKeyWindow;
    让当前UIWindow变成keyWindow(主窗口)

  • -(void)makeKeyAndVisible;
    让当前UIWindow变成keyWindow,并显示出来

  • [UIApplication sharedApplication].windows
    在本应用中打开的UIWindow列表,这样就可以接触应用中的任何一个UIView对象
    (平时输入文字弹出的键盘,就处在一个新的UIWindow中)

  • [UIApplication sharedApplication].keyWindow
    用来接收键盘以及非触摸类的消息事件的UIWindow,而且程序中每个时刻只能有一个UIWindow是keyWindow。如果某个UIWindow内部的文本框不能输入文字,可能是因为这个UIWindow不是keyWindow

  • view.window
    获得某个UIView所在的UIWindow

Snip20150707_5.pngSnip20150707_5.png
  • 代码示例:
    // 1.创建窗口
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    
    self.window.backgroundColor = [UIColor redColor];
    
    // 2.创建窗口的根控制器
    UIViewController *rootVc = [[UIViewController alloc] init];
    rootVc.view.backgroundColor = [UIColor greenColor];
    
    //    UIButton *addBtn = [UIButton buttonWithType:UIButtonTypeContactAdd];
    //    addBtn.center = CGPointMake(200, 200);
    //    [rootVc.view addSubview:addBtn];
    //    [self.window addSubview:rootVc.view];
    
    // 把控制器作为窗口的跟控制器,就会把跟控制器的view自动添加到窗口
    // 设置了窗口的根控制器,有旋转的功能
    self.window.rootViewController = rootVc;
    
    // 3.显示窗口
    [self.window makeKeyAndVisible];

相关文章

  • 简析UIWindow

    添加UIView到UIWindow中两种常见方式: -(void)addSubview:(UIView *)vie...

  • UIWindow析构

    之前写了一篇名为iOS视图成像解构的文章,iOS视图成像解构主要是结合各种工具来分析程序中视图在不同布局下产生的一...

  • mybatis-spring解析

    1、概述 原生Mybatis源码简析(上)原生Mybatis源码简析(下)在介绍原生Mybatis源码简析文章中,...

  • 简析 Swift 的模块系统

    简析 Swift 的模块系统 简析 Swift 的模块系统

  • 简析Swift和C的交互

    简析Swift和C的交互 简析Swift和C的交互

  • UIWindow

    目录:1、UIWindow简介2、UIWindow的创建3、获取UIWindow 1、UIWindow简介 UIW...

  • shiro原理简析+基于springboot基础实践

    1、shiro原理简析 原理简析: 1、subject支持不通调用获取用户信息 2、SecurityManager...

  • Spring Boot启动流程简析

    Spring Boot启动流程简析 木叶之荣,2017年12月 Spring Boot启动流程简析(一) Spri...

  • UIWindow详解

    前言 最近在做一个通知弹框的需求,应用到了UIWindow,之前没有研究过,趁着这次机会了解下UIWindow。简...

  • UIWindow 原理与巧妙使用 makeKeyAndVisib

    - UIWindow 简介- UIWindow 概述- 我们可以使用 UIWindow 来作什么?- makeKe...

网友评论

      本文标题:简析UIWindow

      本文链接:https://www.haomeiwen.com/subject/iscmtxtx.html