代码编织梦想

通常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);
属性
名称类型说明
boundsCGSize屏幕大小参数
scaleCGFloat屏幕缩放参数
availableModesNSArray<UIScreenMode *>屏幕支持的模式列表
currentModeUIScreenMode屏幕当前的模式
capturedBOOL屏幕是否在投影,录制

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/qq_33490514/article/details/111108678

ios 升级后,滚轮选择的时间控件失效 UIDatePicker-爱代码爱编程

变成这个样子了     2.如果使用以前的样式 datepicker.preferredDatePickerStyle = .wheels 不知道是不是苹果的bug 宽高都不对 let datepicker = UIDatePicker(frame: CGRect(x: 0, y: 100, width: self.view.frame

Flutter iOS风格中Widget内容滑到了顶部导航栏后面与其重叠-爱代码爱编程

Flutter 开发问题点一览 Flutter iOS风格中Widget内容滑到了顶部导航栏后面与其重叠Flutter iOS风格文本输入框CupertinoTextField光标在Android中未与提示文本对齐 文章目录 Flutter 开发问题点一览1. 问题描述2. 原因、对策3. 源码分析 1. 问题描述 Flutter在iOS风格

iOS CALayer CABasicAnimation以及CATransaction-爱代码爱编程

1. 概述 上文简单讲述了CALayer的概念以及一些属性,针对于Layer,除了其展示样式,我们更注重它的动画,本篇文章及本专栏的后续文章将围绕Layer的核心动画进行探究。 本文首先看一下CALayer的基础动画类CABasicAnimation以及CATransaction的使用。 2.  CALayer基础动画 CALayer基础动画类为C

Flutter iOS风格文本输入框CupertinoTextField光标在Android中未与提示文本对齐-爱代码爱编程

Flutter 开发问题点一览 Flutter iOS风格中Widget内容滑到了顶部导航栏后面与其重叠Flutter iOS风格文本输入框CupertinoTextField光标在Android中未与提示文本对齐 文章目录 Flutter 开发问题点一览1. 问题描述2. 原因、对策3. 源码分析 1. 问题描述 Flutter iOS风格

Swift 如何生成随机数-爱代码爱编程

1.生成Int类型随机数 var numberOne: Int = Int(arc4random()) print(numberOne) 结果: 3628967563 说明:arc4random()直接返回UInt32类型数据 2.生成Double类型随机数 var numberFour: Double = drand48() print(

华彬拟斥3000万元进军新零售,红牛赋能新渠道-爱代码爱编程

上市公司万里石12月9日发布公告,公司拟与华彬投资、深圳瑞麻共同投资设立“厦门华彬万里新零售有限公司”,该公司注册资本为5000万元人民币,其中公司认缴出资额1100万元,占注册资本的22%;华彬投资认缴出资额3000万元,占注册资本的60%;深圳瑞麻认缴出资额900万元,占注册资本的18%。 万里石公告称,本次设立新零售公司主要为顺应市场新的

iOS 边学边记 深入了解weak底层实现详解-爱代码爱编程

iOS开发者都知道,当一个对象被释放时,所有对这个对象弱引用的指针都会释放并置为nil,那么系统是如何存储这些弱引用对象的呢?又是如何在一个对象释放时,将这些指向即将释放对象的弱引用的指针置为nil的呢?下面我们通过分析SideTable的结构来进一步了解内存管理的弱引用存储细节。 weak结构 在runtime中,有四个数据结构非常重要,分别是Sid