通常UIWindow 与 UIScreen 是配合使用的。当我们想自定义window对象或者获取硬件屏幕大小必定会用到 UIWindow 和 UIScreen

UIWindow

一个APP只有一个UIWindow 对象,表示当前窗口对象。UIWindow 继承于 UIView。 通常使用Window 自定义根节点的 UIViewController。通常在 AppDelegate 的声明周期 didFinishLaunchingWithOptions 中声明

UIScreen* screen = [UIScreen mainScreen];
UIScreen* screen = [UIScreen mainScreen];
NSLog(@"屏幕大小是 %f %f", screen.bounds.size.width, screen.bounds.size.height);
UIWindow* window = [[UIWindow alloc] init];
// 设置窗口大小
window.frame = screen.bounds;
// 设置window根视图控制器
window.rootViewController = [[UIViewController alloc] init];
// 显示到屏幕
[window makeKeyAndVisible];

UIScreen

表示硬件屏幕的类

UIScreen* screen = [UIScreen mainScreen];
NSLog(@"屏幕大小是 %f %f", screen.bounds.size.width, screen.bounds.size.height);
属性
名称 类型 说明
bounds CGSize 屏幕大小参数
scale CGFloat 屏幕缩放参数
availableModes NSArray<UIScreenMode *> 屏幕支持的模式列表
currentMode UIScreenMode 屏幕当前的模式
captured BOOL 屏幕是否在投影,录制

IOS UIWindow 和 UIScreen相关推荐

  1. 转帖:iOS UIWindow UIWindowLevel

    原文地址:http://www.cnblogs.com/smileEvday/archive/2012/03/27/2420362.html 一.UIWindow是一种特殊的UIView,通常在一个程 ...

  2. ios uiwindow弹窗_iOS-UIWindow详解

    1.UIWindow简介 UIWindow是一种特殊的UIView,通常在一个app中至少会有一个UIWindow. iOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的V ...

  3. ios uiwindow弹窗_iOS 你需要的弹窗大全

    在我们的实际开发项目中,弹窗是必不可少的,很多时候我们用的是系统的AlertViewController,但是实际情况中,并不能满足我们的开发需求,这个时候我们需要的就是自定义自己的弹窗效果.接下来我 ...

  4. iOS编程(双语版) - 视图 - 基本概念

    1. 什么是视图? 视图显示为手机上的一块矩形区域,管理该区域的所有屏幕显示,它是UIView或者UIView的子类. 视图既可以从xib生成,也可以用代码生成. 2. 窗口 窗口是UIWindow或 ...

  5. Swift iOS : WebView缓存图片的方法

    广告 Swift iOS开发小书 ,帮你快速上手开发 www.ituring.com.cn/book/2413 正文 每次加载WebView内容,如果图片可以缓存的话,速度就会非常快.默认情况下,We ...

  6. iOS 实现启动屏动画(Swift实现,包含图片适配)

    代码地址如下: http://www.demodashi.com/demo/12090.html 准备工作 首先我们需要确定作为宣传的图片的宽高比,这个一般是与 UI 确定的.一般启动屏展示会有上下两 ...

  7. iOS 显示SVG文件的方法

    iOS 显示SVG文件的方法 1. Swift iOS : 显示SVG文件的方法 SVG文件是矢量图标准之一,特点是可以缩放,并且可以用可以阅读的源代码的方式(而不是二进制)来存储图形信息.比如如下文 ...

  8. 用 AsyncDisplayKit 開發響應式 iOS App

    原文:Using AsyncDisplayKit to Develop Responsive UIs in iOS 作者:ZIAD TAMIM 譯者:kmyhy 在 2011 年,我認識了一位非常聰明 ...

  9. iOS VIPER 架构解读

    苹果官方推荐的 APP 架构是 MVC 架构,实际上它并不是传统的三层架构,而是两层架构,即整个 APP 由"模型"和"视图控制器"两层构成.因此视图控制器显得 ...

最新文章

  1. python filter过滤器的使用_如何在Python 3中使用过滤器、映射和精简
  2. 【云计算】阿里云云计算专业认证考试
  3. ArcGIS中的三种查询
  4. 为移动端网页构造快速响应按钮
  5. Leetcode每日一题:17.letter-combinations-of-a-phone-number(电话号码的字母组合) 0ms通过
  6. java实体类设计_java实验1 实体类的设计-答案
  7. ERP实施的焦点依然是实施顾问
  8. BZOJ3998: [TJOI2015]弦论【SAM】
  9. 在 Vue 项目中引入 tinymce 富文本编辑器
  10. web前端基础知识 - CSS语言和功能
  11. 计算机图形学2-Liang-Barsky直线裁剪算法
  12. vue 管理系统顶部tags浏览历史实现
  13. MATLAB生成随机数
  14. python filelock 文件锁_详解进程文件锁FileLock
  15. 一款消消乐游戏的自动解法
  16. PS初体验:熟悉快捷键
  17. php三级分销思路 数据库设计_分销系统的用户关系,用户与推广链接的数据库设计。设计思路...
  18. 入职腾讯第九年,我辞职了!
  19. 合宙AIR32F103CBT6刷回CMSIS-DAP固件和DAP升级固件以及刷ST-LINK V2-1固件方法
  20. Android修改设置文字转语音输出,默认语速

热门文章

  1. python逐行打印_python中逐行打印
  2. linux系统nginx启动不了,nginx启动不了,求大神帮助!
  3. QQ邮箱怎么发送文件夹 怎样在QQ邮箱里发送压缩文件夹
  4. MUI tab选项卡之间的切换和数据获取
  5. XML解析-Dom4j的DOM解析方式更新XML
  6. php 位运算与权限,PHP中的二进制位运算和权限存储
  7. Java中String类中compareTo( )方法
  8. linux网络文件系统包括,Linux文件系统
  9. java内部类为什么使用很少_java内部类有什么好处?为什么需要内部类?
  10. linux转mysql_[转] linux下安装mysql服务器