十年专注于品牌网站建设 十年专注于品牌网站建设,低调、高逼格、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

iOS开发之iOS 8屏幕的多样性

百恒网络 2017-06-22 179

在几年前开发iOS应用的时候还只需要考虑一个屏幕,我们会自豪地告诉Android开发者,iPhone不需要考虑屏幕适配问题,而今天这种自豪已经失去。随着iPhone 6设备的发布,iOS设备屏幕越来越多样化了,这也给开发人员带来不小的麻烦。为了适配多种不同的iOS设备屏幕,iOS 8推出了基于Auto Layout的Size Class技术。下面南昌APP开发公司小编和大家一起来学习一下iOS 8屏幕的多样性

1.iOS 8 屏幕的多样性

2014年9月9日,苹果公司发布了iPhone 6设备,这使得iOS设备越来越多样化,其中屏幕的多样化是最为复杂的。因此,南昌APP开发公司在介绍屏幕适配技术之前,有必要了解一下iOS 8设备屏幕相关的信息。

1.1 iOS 8 屏幕介绍

截至2014年10月10日,主流的iOS设备屏幕至少有9种,见图1和图2所示。

iPhone设备屏幕比较

图1 iPhone设备屏幕比较

iPad设备屏幕比较

图2 iPad设备屏幕比较

更加详细的信息见下表所述。

表1 iOS 设备屏幕分辨率

iOS 设备屏幕分辨率

1.2 iOS 8 的三种分辨率

对于普通用户,了解表4-1所述的信息已经足够了;而对于设计人员和开发人员,还需要了解更深层的分辨率信息。为了解决屏幕适配问题,在一些游戏引擎中提出了3种分辨率:资源分辨率、设计分辨率和屏幕分辨率。

资源分辨率:也就是资源图片的大小,单位是像素。

设计分辨率:逻辑上的屏幕大小,单位是点。我们在Interface Builder设计器中的单位和程序代码中的单位都是设计分辨率中的“点”。

屏幕分辨率:是以像素为单位的屏幕大小,所有的应用都会渲染到这个屏幕上展示给用户。从表2可见,iPhone 6 Plus是最为特殊的设备,资源分辨率与屏幕分辨率的比例是1.15 : 1,而其他的设备比例是1 : 1。不同的人群关注的分辨率也是不同的,UI设计人员主要关注的是资源分辨率,开发人员主要关注的是设计分辨率,而一般用户主要关注的是屏幕分辨率。

表 2 iOS 设备的三种分辨率

iOS 设备的三种分辨率

1.3 获得 iOS 设备屏幕信息

为了屏幕适配的需要,有的时候我们需要获得iOS设备的屏幕信息,然后根据该信息判断是哪一种iOS设备。视图控制器ViewController的主要代码如下:

视图控制器ViewController的主要代码一

视图控制器ViewController的主要代码二

第①行代码用于获得屏幕大小,返回值是CGSize类型的。第②行代码用于获得设备信息,然后判断是否为iPhone设备,其中UIDevice的静态方法currentDevice可以获得设备信息,UIUserInterfaceIdiom是枚举类型,它的成员包括以下几个。

Phone:判断为iPhone或iPod touch设备。Objective-C版本为UIUserInterfaceIdiomPhone。

Pad:判断为iPad设备。Objective-C版本为UIUserInterfaceIdiomPad。

Unspecified:未知设备。Objective-C版本为UIUserInterfaceIdiomUnspecified。

获得是哪个设备后,我们还需要判断是横屏还是竖屏,第③行代码用于判断是否是竖屏情况。第④行代码用于判断设备是否为iPhone 5/5s/5c(iPod touch 5)等设备,第⑤行代码用于判断设备是否为iPhone 6 设备,第⑥行代码用于判断设备是否为"iPhone 6 Plus设备,第⑦行代码判断是否为iPhone4s等其他设备。如果设备处于横屏情况,则只需要判断屏幕的宽度就可以了。

读者测试这段代码时,可以打开本节的实例代码ScreenTest,在Xcode选择不同的模拟器进行测试即可,如图3所示。

选择不同的模拟器

图3 选择不同的模拟器

了解更多相关资讯,关注南昌网站制作公司--百恒网络官方网站。百恒网络是一家专业从事南昌网站建设、微信开发、APP开发、网络营销等服务的南昌网络公司,技术过硬,经验丰富。如有任何网站方面的问题,百恒网络随时欢迎大家来电咨询,我们专业为您解答!


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×