[Swift4.2互动教程]七、常见概念-(13)使用UIScreen查询设备屏幕信息

本文将为你演示,如何获得设备的屏幕信息,了解设备的屏幕尺寸等信息,
才能做出适配性更好的应用程序。

首先导入需要使用到的界面工具框架

import UIKit

然后通过UIScreen类,就可以获得设备的屏幕信息。
这里获得设备的屏幕尺寸,点击显示结果图标,查看获得的结果

UIScreen.main.availableModes.description

从结果列表中可以看出,屏幕的宽度为2048像素,高度为1536像素。
再次点击结果图标,关闭结果列表。

[<UIScreenMode: ox60000000003cf20;size = 1536.000000 × 2048.000000>]

接着继续编写代码,查看设备屏幕的其他信息。

UIScreen.screens.count

获得屏幕的边界信息,从右侧的结果可以看出,
屏幕的宽度为1014个点,高度为768个点。
该尺寸会随屏幕的横竖方向改变而改变。

1 UIScreen.main.bounds
2 {x 0 y 0 w 768 h 1014}

获得屏幕的像素尺寸,不会随屏幕的横竖方向的改变而改变。

UIScreen.main.nativeBound

获得物理屏幕的真机比例因子,
可以简单理解为像素数量和点数量的比值。

UIScreen.main.nativeScale

获得屏幕的亮度级别

UIScreen.main.brightness

获得屏幕当前的坐标空间的边界信息。

UIScreen.main.coordinateSpace.bounds

获得与屏幕关联的当前屏幕的尺寸。最后点击此处的显示结果图标,
可以查看更加形象化的屏幕边界信息

UIScreen.main.currentMode?.size

技巧:上传至App Store的IPA文件,最大体积为4G

原文地址:https://www.cnblogs.com/strengthen/p/9780372.html

时间: 2024-10-17 03:37:59

[Swift4.2互动教程]七、常见概念-(13)使用UIScreen查询设备屏幕信息的相关文章

[Swift4.2互动教程]七、常见概念-(10)使用UserDefaults和归档方式存取用户数据

在项目开发之中,你会经常需要将一些数据存储在本地,以便记录用户生产的数据或操作习惯.在项目文件夹上带点击鼠标右键.弹出右键菜单.本文将为你演示,存储用户数据的两种常用方式. 选择菜单中的创建新文件选项(New File),创建一个类文件,用来存档用户数据.在弹出的文件模板选择窗口中,保持默认的选项(Cocoa Touch Class),然后点击下一步按钮,进入下一步设置页面.在类名输入框内输入类的名称. Class: Person 接着输入父类的名称. Subclass of: NSObject

[Swift4.2互动教程]七、常见概念 - (2)点CGPoint和变形CGAffineTransform的使用

本文将为你演示点对象CGPoint的使用,其中CG表示来自CoreGraphic(核心图形)这个跨平台框架 首先导入需要使用的两个框架第一个框架表示界面工具框架第二个框架表示核心绘图和动画框架 1 import UIKit 2 import QuartzCore 定义一个点对象,并设置它的位置为原点.从右侧的结果可以看出,原点的x和y值都是0 let zeroPoint = CGPoint.zero 初始化另一个点对象 var point = CGPoint() 接着查看点对象的坐标值,从右侧的

[Swift4.2互动教程]七、常见概念 - (3)尺寸CGSize的使用详解

本文将为你演示CGSize的使用 首先导入需要使用到的两个框架 1 import UIKit 2 import QuartzCore 定义一个尺寸对象,尺寸对象包含宽度和和高度两个参数.从右侧的结果可以看出,此时该尺寸对象的宽度和高度都是0 let zeroSize = CGSize.zero 初始化另一个尺寸对象,并设置它的宽度为20,高度为10 let size = CGSize(width: 20, height: 10) 查看该尺寸对象的高度和宽度的数值 1 size.width 2 s

[Swift4.2互动教程]七、常见概念-(6)日期Date和DateFormatter日期的格式化

本文将为你演示日期类型的使用,以及如何对日期进行格式化. 首先引入需要使用到的界面框架 import UIKit 初始化一个日期对象,它的值和当前电脑中的日期相同 var date = Date() 获得当前60分钟之后的时间 date.addTimeInterval(60 * 60) 获得当前60分钟之后的时间,并存储再一个常量之中. let sencondDate = date.addTimeInterval(60 * 60) 对两个时间进行比较,当时间小于进行比较的时间时,返回值为-1.比

[Swift4.2互动教程]七、常见概念-(12)使用DispatchGroup(调度组)管理线程数组

本文将为你演示调度组的使用,使用调度组可以将多个线程中的人物进行组合管理,可以设置当多个相同层次的任务完成之后,再执行另一项任务. 首先导入需要使用的界面工具框架 import UIKit 在控制台输出一条日志语句,表示调试任务开始执行 print("Start the task and display teh Loading animation.") 接着初始化一个调度组对象. let gro =DispatchGroup() 同时运行多个任务,每个任务的启动时间是按照加入队列的顺序

[Swift4.2互动教程]八、实用进阶-(6)通过属性进行对象间的消息传递

本文将演示,如何通过一个对象作为另一个对象的属性,从而通过设置属性的值,来实现对象之间的消息传递.首先打开自定义视图的代码文件(CustomView.swift) 1 import UIKit 2 //使当前的自定义类,遵循文本输入框代理协议 3 class CustomView: UIView,UITextFieldDelegate{ 4 //给自定义类添加一个文本框类型的属性 5 var textField: UITextField! 6 //添加一个视图控制器类的属性,并设置类型为弱引用,

《互动教程 for Photoshop CC》已成功发布在App Store

不看视频不看书,超级好玩的PS教程! App store下载量超百万! 超千份来自世界各地用户的五星好评以及诚意推荐! 单击.双击.长按.拖动及各种快捷键,就像您在真正的Photoshop上操作一样! 比观看视频.阅读书籍更加有效.有趣! 指尖点亮设计之源!哪里不会戳哪里,妈妈再也不会担心我的Ps了! 一起动手来戳Photoshop吧! App Store免费下载地址: https://itunes.apple.com/cn/app/hu-dong-jiao-cheng-for-photosho

Swift中文教程(七)--协议,扩展和泛型

Protocols and Extensions 协议(接口)和扩展 Swift使用关键字protocol声明一个协议(接口): 类(classes),枚举(enumerations)和结构(structs)都可采用协议(protocol): 1 class SimpleClass: ExampleProtocol { 2 var simpleDescription: String = "A very simple class." 3 var anotherProperty: Int

聊聊JVM(二)说说GC的一些常见概念

转自CSDN 上一篇总结GC的基础算法,各种GC收集器的基本原理,还是比较粗粒度的概念.这篇会整理一些GC的常见概念,理解了这些概念,相信对GC有更加深入的理解 1. 什么时候会触发Minor GC? Eden区域满了,或者新创建的对象大小 > Eden所剩空间 CMS设置了CMSScavengeBeforeRemark参数,这样在CMS的Remark之前会先做一次Minor GC来清理新生代,加速之后的Remark的速度.这样整体的stop-the world时间反而断 Full GC的时候会