欢迎来到酷云建站平台,全网营销云系统加盟中心!

海量企业网站模板 · 任您选择

美出特色,精出品质,一切为了企业更好的营销

隐藏侧栏
Beta
转载

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

       APP开发     2021-12-16     admin     13     0    

在几年前开发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 选择不同的模拟器



--结束END--

本文链接: http://www.83703228.cn/appkf/2379.html (转载时请注明来源链接)

 
本文标签: 全部

下班PC阅读不方便?

手机也可以随时学习开发

微信关注公众号“酷云”
"酷云平台前端开发教学"
每日干货技术分享
 

×

成为 酷云平台 代理商!

关注

微信
关注

微信扫一扫
获取最新优惠信息

酷云平台公众号

客服

联系
客服

很高兴为您服务
尊敬的用户,欢迎您咨询,我们为新用户准备了优惠好礼。 咨询客服

联系客服:

在线QQ: 3206174

客服电话: 0516-83703228

售前咨询 售后服务
在线交谈 智能小云

工作时间:

周一至周五: 09:00 - 17:00

WAP

手机
访问

移动端访问
手机上也能选模板

酷云平台手机端