24H免费课程咨询  TEL:13401595960   QQ:1870218756  微信:13401595960(李老师)

东方博宜

网站首页 > 软件开发资讯 > IOS开发

【常州iOS开发培训班】iOS开发:为你的应用兼容iPhone X

2018-05-22 18:47:24 东方博宜 阅读

屏幕


我们在编码中使用的是以point为单位的屏幕尺寸(在不同设备上每个point对应的实际像素点是不一样的),iPhone 8的尺寸是375pt × 667pt @2x,iPhone X的尺寸是375pt × 812pt @3x,也就是屏幕宽度是一样的,但是高出了145pt,大概能多显示20%的内容。



屏幕


注意iPhone X的屏幕素质比较好,所以它需要加载较高像素的图片,我们要提供必要的@3x资源。


另外由于iPhone X极高的长宽比,我们用作背景的图片都需要重新设计,以保证比例适合,内容被裁切后效果仍然ok。



屏幕


status bar


iPhone X的状态栏高度是高于之前所有的iPhone版本的,所以在代码里写死kStatusBarHeight == 20的地方都会出错!



刘海变高


也就是说,之前使用固定状态栏高度来进行布局的代码都需要调整为动态布局方式,否则会出现内容被遮挡的问题。特别是图中这个64,一直在iOS开发中常数般的存在,最后也被苹果爸爸摆了一道。



此处不能写死


关于状态栏另外两个需要注意的地方:


不要在iPhone X下隐藏状态栏,一个原因是显示内容足够高了,另一个是这样内容会被刘海切割。

现在通话或者其它状态下,状态栏高度不会变化了,程序不需要去做兼容。


高度不变


布局


iPhone X的布局有很多改变,这是因为:


刘海的存在使横屏的情况变得复杂

四个角变圆,需要防止内容被切割

代替home键的长条(不知道官方名字叫什么,homeBar?)使得屏幕底部的布局需要调整


很多系统经典的控件,比如TableView,Collection,Navigation,TabBar等都会自动适应iPhone X(呵呵,一定会有很多坑等着打补丁或者让开发者擦屁股)。


Safe Area


iOS11引入了safeArea的概念,用来替代之前的topLayoutGuide和bottomLayoutGuide,safeArea用来描述视图不被任何内容遮挡的部分。它提供两种方式:safeAreaInsets或safeAreaLayoutGuide来提供给你safeArea的参照值。


safeArea


在iPhone X上,视图的默认safeArea如下图所示:



safeArea2


可以看到,底部的Bar还有四周圆角,都对这个safeArea进行了切割。苹果官方的设计指导是使用以safeArea为框,以layoutMargin为间距来进行UI布局。

常州东方博宜是一家专注IT,互联网,电脑方面的顶尖培训机构,欢迎社会及院校有志互联网营销,搜索引擎营销的人士,来东方博宜报名学习,互相交流。

常州东方博宜地址:常州天宁区延陵西路2号工人文化宫5号楼

 2.新北区太湖东路9-4号常州创意园E12


Powered by 东方博宜教育咨询江苏有限公司  ©2008-2018 www.czos.cn