首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

UIScreen主边界不考虑实际设备屏幕大小

UIScreen是iOS开发中的一个类,用于表示设备的屏幕。主边界是指屏幕的可见区域,不考虑实际设备屏幕的大小。

UIScreen主边界不考虑实际设备屏幕大小的意思是,无论设备的屏幕尺寸是多大,主边界都是相对固定的,不会随着设备屏幕的变化而变化。

在iOS开发中,可以使用UIScreen类来获取设备屏幕的相关信息,如屏幕的尺寸、分辨率等。通过UIScreen的bounds属性可以获取屏幕的边界信息,包括屏幕的宽度、高度等。

在开发过程中,了解UIScreen主边界的概念可以帮助开发人员更好地适配不同尺寸的设备屏幕。通过获取屏幕的主边界信息,可以根据不同的屏幕尺寸来调整界面布局、字体大小、图片大小等,以确保应用在不同设备上的显示效果一致。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动开发平台:https://cloud.tencent.com/product/mpp
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云云原生容器服务:https://cloud.tencent.com/product/tke
  • 腾讯云音视频处理:https://cloud.tencent.com/product/mps
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务:https://cloud.tencent.com/product/tbaas
  • 腾讯云元宇宙:https://cloud.tencent.com/product/tencent-metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS获取屏幕宽高、设备型号、系统版本信息介绍1、获取屏幕的宽高2、获取设备的型号3、获取系统版本

之前也研究过,这里把我的方法记录下来,本文介绍三个常用的设备信息获取方式: 获取屏幕的宽高。用于在设置控件位置的时候计算相对屏幕的距离 获取设备的型号。...5s和6+的屏幕大小相差很远,相应的控件位置、大小都需要做出调整,不然就会出现在6+上显得很空旷或者在5s上显示不全的问题。 获取系统版本。...不同的系统版本有着不同的特性,举个栗子,iOS 9以下的版本就没有Live Photo;再举个栗子,iOS 7以上的系统版本往往需要调整一下边界 接下来详细说说各自的获取方法,其实都还比较简单。...获取屏幕宽、高的方法如下: // 设备宽度 [UIScreen mainScreen].bounds.size.width // 设备高度 [UIScreen mainScreen]...我们先看下面这张表: 关注设备分辨率那一列,我们可以看到几款屏幕设备的分辨率是不同的,因此也就可以以此为依据判断设备型号,我这里判断了几种当前最常见的型号,同样使用了宏: // 根据屏幕分辨率判断设备

2.5K40

View编程指南(二)

该window横跨设备的整个屏幕,并在应用程序生命周期的早期从应用程序的主要nib文件(或以编程方式创建)加载。...如果此选项未启用且您的window小于目标设备屏幕,则某些view不会接收触摸事件。这是因为window(如所有view)不会在边界矩形外接收触摸事件。...由于默认情况下,view不会被剪切到window边界,所以view仍然可见,但是事件不能到达它们。在启动时启用全屏选项可确保window适合当前屏幕。...如果您是为外部显示创建window,则应将其分配给其他变量,并且需要指定代表该显示的非UIScreen对象的边界。 创建window时,应始终将window的大小设置为屏幕的全部范围。...在配置window的rootview时,您需要负责在window内设置其初始大小和位置。对于包含状态栏或显示半透明状态栏的应用程序,请将view大小设置为与window大小相匹配。

81410
  • IOS开发之尺寸

    所以如果在定义字体大小时,使用px作为单位,那一旦用户改变显示器分辨率从800到1024,用户实际看到的文字就要变“小”(自然长度单位),甚至会看不清,影响浏览。   ...刚才的例子已经很清楚的说明,在不同分辨率下,无论是px还是pt,都会改变大小。以现在的电脑屏幕情况,还没有一种单位可以保证,在不同分辨率下,一个文字大小可以“固定不变”。...因为这很难以实现也不是很有必要:全球电脑用户以亿来数,屏幕从14寸到40寸甚至更高都有,屏幕大小不同,分辨率也不同,要保证一个字体在所有用户面前大小一样,实在是MISSION IMPOSSIBLE。   ...    -------------------------------------------------------------------------------- 为了自动适应分辨率,系统会根据设备实际分辨率...在实际运行时,系统如果发现当前设备是Retina屏(scale=2),会自动寻找"*@2x.png"命名格式的图片,加载针对Retina屏的图片素材,否则会失真。

    3K40

    iPhone屏幕尺寸、分辨率及适配

    2.0 and one point is represented by four pixels. ——————————————————————————– 为了自动适应分辨率,系统会根据设备实际分辨率...同时该API根据UIScreen的scale,自动查找包含对应高倍图后缀名(@2x)的文件,如果找到二倍图,则image.scale=2.0,对应逻辑size大小以point度量(pixel度量的一半)...在实际运行时,系统如果发现当前设备是Retina屏(scale=2),会自动寻找”*@2x.png”命名格式的图片,加载针对Retina屏的图片素材,否则会失真。...11.UI相对布局 考虑到iPhone机型的多样性,不可能针对iPhone4(s)、5(s)、6、6+四种屏幕尺寸出四套视觉交互稿,也不要基于某一机型从上往下、从左往右给绝对标注,而应该关注subView...、分辨率及其屏幕边长比例》 《iOS判断设备屏幕尺寸、分辨率》 《iOS8中的UIScreen》 《Detecting iPhone 6/6+ screen sizes in point values

    5.9K20

    ios学习7_iPhone屏幕尺寸、分辨率及适配

    2.0 and one point is represented by four pixels. ——————————————————————————– 为了自动适应分辨率,系统会根据设备实际分辨率...在实际运行时,系统如果发现当前设备是Retina屏(scale=2),会自动寻找”*@2x.png”命名格式的图片,加载针对Retina屏的图片素材,否则会失真。...,按照实际屏幕方向(UIDeviceOrientation)的宽高 #define SCREEN_WIDTH ([UIScreenmainScreen].bounds.size.width)...11.UI相对布局 考虑到iPhone机型的多样性,不可能针对iPhone4(s)、5(s)、6、6+四种屏幕尺寸出四套视觉交互稿,也不要基于某一机型从上往下、从左往右给绝对标注,而应该关注subView...、分辨率及其屏幕边长比例》 《iOS判断设备屏幕尺寸、分辨率》 《iOS8中的UIScreen》 《Detecting iPhone 6/6+ screen sizes in point

    2.6K20

    ios学习7_iPhone屏幕尺寸、分辨率及适配

    ------------------------------------------------------------------------------- 为了自动适应分辨率,系统会根据设备实际分辨率...在实际运行时,系统如果发现当前设备是Retina屏(scale=2),会自动寻找"*@2x.png"命名格式的图片,加载针对Retina屏的图片素材,否则会失真。...,按照实际屏幕方向(UIDeviceOrientation)的宽高 #define SCREEN_WIDTH ([UIScreenmainScreen].bounds.size.width)...11.UI相对布局 考虑到iPhone机型的多样性,不可能针对iPhone4(s)、5(s)、6、6+四种屏幕尺寸出四套视觉交互稿,也不要基于某一机型从上往下、从左往右给绝对标注,而应该关注subView...参考: 《iOS设备屏幕尺寸、分辨率及其屏幕边长比例》 《iOS判断设备屏幕尺寸、分辨率》 《iOS8中的UIScreen》 《Detecting iPhone 6/6+ screen

    91850

    微信iOS9适配总结

    Bitcode是苹果App Thinning的机制之一,可以减少安装包的大小,等我们把所有库都替换成支持Bitcode之后,工程就可以启用Bitcode了。...也许是出于用户隐私的考虑,iOS9上对canOpenUrl做了限制,最多只能对50个scheme做判断。...微信因为是使用了配置文件来处理不同设备的排版差异的,所以根据自己的实际情况,采用以下原则:在320屏幕下按照iPhone5的排版;438屏幕下按照iPhone6的排版,其它分屏下按照iPad的排版。...3、分屏后的几个问题 3.1 有了分屏后,APP当前屏幕大小不能再用[UIScreen mainScreen].bound来获取了,这个取到的是整个设备屏幕大小,不是分屏后的屏幕大小。...系统知道当前屏幕大小,会帮我们正确地设置frame。然后取这个frame就能拿到实际屏幕大小了。

    2.1K50

    iOS-UIWindow详解

    那么UIWindow是如何将View显示到屏幕上的呢 这里有三个重要的对象UIScreen,UIWindow,UIView。...UIScreen对象识别物理屏幕连接到设备 UIWindow对象提供绘画支持给屏幕 UIView执行绘画,当窗口要显示内容的时候,UIView绘画出他们的内容并附加到窗口上。...UIApplicationMain函数了解程序启动的过程 根据传递的类名创建UIApplication对象,这是第一个对象 创建UIApplication代理对象,并给UIApplicaiton对象设置代理 开启运行循环...makeKeyAndVisible]; return YES; } 窗口显示注意点: 我们看到系统为我们创建的window属性是strong强引用,是为了不让窗口销毁,所以需要强引用 窗口的尺寸必须设置,一般设置为屏幕大小...我们来看一下[self.window makeKeyAndVisible];的底层实现了哪些功能 可以显示窗口 成为应用程序的窗口 当我们不调用这个方法,打印self.window。

    2K40

    CALayer的寄宿图

    假设目前是在plus的设备上,通过设置layer的contents来展示一张图片,那么获取到的图片是一个3倍图,如果设置contentsScale的值,那么就会展示图的原始像素大小,所以此时要将layer...那么Retina设备的scale有1、2和3,我们怎么获取到呢,可以通过如下方法获取和设置: layer.contentsScale = [UIScreen mainScreen].scale; maskToBounds...当图片大小超过了视图的边界时,默认情况下,UIView会绘制超过边界的内容或者子视图,在CALayer下也是这样的。...在标准设备上,一个点就是一个像素;但是在Retina屏幕上,按照不同的屏幕尺寸,一个点可以表示一到多个像素。...iOS用点作为屏幕的坐标测算体系,就是为了在Retina屏幕和普通设备上能有一直的视觉效果。 像素——物理像素坐标并不会用于屏幕布局,但是仍然与图片有相对关系。

    1K20

    CALayer 实用属性补充

    墙裂推荐阅读此翻译文档)  contents 属性 这个属性的类型被定义为id(这是由于MacOSX历史原因造成的,因为在Mac中这个属性对CGImage和NSImage都起作用),意味着它可以时任何对象类型,但实际上...如果设置了contentsGravity属性为kCAGravityResizeAspect(拉伸)时,将会忽略contentsScale,因为拉伸图片适应图层时,根本不会考虑分辨率问题。...会获取高质量的图片,但CGImage没有拉伸概念,因此使用CGImage设置图片时,拉伸的因素会在转换的时候丢失,当用代码设置contents图片时,要手动设置图层的contentsScale的属性,避免Retina屏幕显示错误...layer.contentsScale = [UIScreen mainScreen].scale; ?...UIView有一个叫做clipsToBounds属性可以用来决定是否显示超出边界的内容,CALaer对应的属性是maskToBounds,设置为YES,会剪去超出边界的部分(不显示)。

    93930

    【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

    )application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 创建UIWindow对象,并初始化该窗口的大小屏幕大小相同...)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 创建UIWindow对象,并初始化该窗口的大小屏幕大小相同...application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 创建 UIWindow 对象, 设置其大小屏幕大小相同...IOS 已经下架了所有的 非 Retina 屏幕设备, 目前在售的所有设备都是 Retina 设备, 但是之前卖出的许多设备有些不是 Retina 屏幕的; -- 支持 Retina 屏幕设备 :...现在在售的所有设备, iphone4 ~ 6S, ipod4, ipad 2 之后的新设备; -- 不支持 Retina 屏幕设备 : 之前出售的低端 IOS 设备大都是非 Retina 屏幕的, ipod

    4.9K30

    【IOS开发进阶系列】APP性能优化专题

    由于文件较大不太适合于移动设备这些存储容量小的设备。         ...移动设备中的数据是不可能是企业级系统数据的全部,它只是企业级系统的补充和扩展。...3.2.2.2 限制返回记录数         在限制返回记录数方面,由于移动设备屏幕相当比较小,屏幕上能显示的数据不多,一次查询出记录数,超过屏幕显示能显示行数,这就没有必须了,也会占用更多的内存、耗费宝贵的...l  -O1(或-O),是最常用的优化级别,不考虑速度和文件大小权衡问题,与-O0级别相比生成文件更小,可执行的速度更快,编译时间更少。...该级别是应用程序发布时候的最理想级别,在增加文件大小的情况下提供了最大优化。 l  -O3,是在-O2和-O1级别上再进行优化,该级别可能会提高程序的运行速度,但是也会增加文件的大小

    31320

    手把手带你撸一个网易云音乐首页-适配篇

    布局适配 现在的 iOS 设备屏幕尺寸越来越丰富,那么该采用怎样的策略来适配这么多设备屏幕呢!先来看下有哪些屏幕尺寸吧!...image image 比例系数 在这个工程中,我采用了的策略是选择一种设备屏幕尺寸来作为开发的标准,例如我这里采用的是 5.5寸的 iPhone6 plus 屏幕的尺寸,来设置一个比例系数, func...func scaleH() -> CGFloat { return (screenHeight / 667 * CGFloat(self)) } 这样,在布局的时候,就可以考虑使用上面的这个系数...// max(UIScreen.main.bounds.height, UIScreen.main.bounds.width) let kSreenHeight = UIScreen.main.bounds.height...// min(UIScreen.main.bounds.height, UIScreen.main.bounds.width) let kSreenBounds = UIScreen.main.bounds

    52420

    iOS四大对象之UIWindow及四大对象之间的关系1. UIWindow使用纯代码加载根控制器2. UIWindow的创建过程3. 四大对象之间的关系

    创建的第一个对象是:UIApplication 一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow 。...(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //创建窗口,根据屏幕大小设置...UIWindow *window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; // 设置window...窗口同一时刻只能有一个UIWindow *keyW = application.keyWindows; 1.2 对window进行操作 // 让当前UIWindow变成keyWindow,并显示出来...修改屏幕的操作代价非常大 //NS_AVAILABLE_IOS(3_2) @property(nonatomic,retain) UIScreen *screen ; //// default

    1.7K30

    iOS UICollectionView等分有1px缝隙

    有哪位看官对此有更好的阐述希望不吝指导 首先应该了解一下[[UIScreen mainScrenn] scale] iPhone 4 之前的设备为1.0 iPhone 4 ~ iPhone 6s (除...1,而iPhone6的[[UIScreen mainScrenn] scale]是2.0,也就是说1个屏幕像素(逻辑像素)对应有2个物理像素,即0.5个屏幕像素对应1个物理像素,而iPhone6四等分的宽度是...同理iPhone6 Plus的[[UIScreen mainScrenn] scale]是3.0,也就是说1个屏幕像素(逻辑像素)对应有3个物理像素,即0.333333个屏幕像素对应1个物理像素,四等分之后是...解决办法 思路:只要itemSize的width的小数点后的值等于1 / [UIScreen mainScreen].scale的值即可。...1px=([UIScreen mainScreen].scale)pt实际的宽度,可能会超出屏幕,需要调整一下frame CGFloat pointX = (realWidth - rect.size.width

    1.5K70

    iOS项目——项目开发环境搭建

    3 调整App方向   一般而言,我们的应用软件的方向都是竖屏正向的(游戏除外,一般的游戏都是横屏的) ,所以我们在进行项目开发之前可以先把设备类型、屏幕的方向等确定下来,这也方便我们进行应用图标和启动图片的剪切和设置...设置界面如下图所示,这一块主要设置应用图标和启动界面,其中启动界面有两种设置方法:通过设置启动图片或者通过设置启动界面文件来启动,启动图标和启动界面对不同的机型的设备所需要的尺寸是不同的,具体应用图标和启动页面的大小尺寸介绍见官网...如果启动图片是iPhone6的屏幕大小的图片,则在iPhone X上只显示iPhone6的屏幕大小区域,上下会有两条黑边。因此,我们再设定启动界面的时候一般是需要适配各种屏幕大小尺寸的启动图片。...启动图像与应用程序的首屏幕看起来非常相似。当用户在屏幕上点击您的应用程序图标时,iPhone OS会立即显示这个启动图像。一旦准备就绪,您的应用程序就会显示它的首屏幕,来替换掉这个启动占位图像。...我们都知道,项目运行的起点是main函数,在我们的iOS项目中也例外,我们可以看到,项目中有一个main.m函数,这里面只有一个方法就是我们的main方法,代码如下,很简单。

    1.5K150
    领券