iOS开发中的屏幕尺寸问题(nativeBounds、nativeScale)

背景:

在做公司的项目的时候客户端在获取图片的时候需要给后台发送手机屏幕的宽高以获取相应大小的图片(上传的是像素是手机屏幕的物理宽高)。

之前比价笨的做法:

首先利用[[UIScreen mainScreen] bounds].size.width、[[UIScreen mainScreen] bounds].size.height获取屏幕的宽高(单位是苹果中的点),根据宽高确定机型,然后乘以一个相应的比例系数以获取屏幕的物理宽高(单位是像素)。

简单方便的做法:

实际苹果给我们提供了获取屏幕物理宽高的方法(iOS8之后),我们可以利用[UIScreen mainScreen]的nativeBounds来获取屏幕的物理宽高。

方法:

CGFloat w = [[UIScreen mainScreen] nativeBounds].size.width;

   CGFloat h = [[UIScreen mainScreen] nativeBounds].size.height;

我们还可以利用[[UIScreen mainScreen] nativeScale]获取手机设备分辨率和手机逻辑分辨率的一个比例。

苹果官方解释:

本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女朋友,女同胞都有男朋友。

你可能感兴趣的:(iOS开发中的屏幕尺寸问题(nativeBounds、nativeScale))