iPhone X 适配《一》

注意:本文为原创,如需转载请联系作者。

随着时间的推移,我们盼的iPhone X 开售的日子也越来越近,大家是不是还有一点小激动呢。激动归激动,对与像和我一样是iOS程序来说也是为iPhone X做适配的时候了。

为此我观看了苹果官方的讲解视频,有兴趣的朋友请点击这里进行观看,如果不想观看视频的请往下看,我已把精华提取出来。

下面我根据苹果官方的WWDC app来总结三条需要注意的地方。

第一条:

如果我们的app中有类似预览相册的功能,那么在没有处理的情况下,在iPhone X上面运行的时候会出现如(图1)的问题。


图1

我们可以一眼就看出来问题所在,就是两个控件相隔太近。
解决办法如下:
第一步根据(图2)中箭头所指勾选 Use Safe Area Layout Guides选项。


图2

第二步根据(图3)首先点击箭头1所指向,看箭头2是否变色,如果变色说明已经勾选,然后点击箭头三所指向的First Item会弹出如(图4)的下拉框。
图3

舍弃SuperView选中Safe Area。


图4

然后运行效果如(图5)
图5

大功告成,完美。

第二条:

如果在你的app中有如下(图6)的搜索按钮,那么在iPhone X 中可能出现如(图7 和 图8)的问题。

图6
图7
图8

而我们想要的效果是如(图9)在竖屏情况下应该和自带的电话本一样的效果。

图9

下图(图10)是搜索栏的旧代码部分。

图10

我们做两处修改,第一步,对于这个视图控制器,不显示搜索控制器,而是把它交给UINavigationItem;第二步,将搜索控制器的“isActive”属性设置为“true”,这样会使导航栏激活搜索控制器并开始编辑。注意:我们可以使用“Availability Support”这项功能让设置仅对iOS 11 有效,而在旧版的系统中保留现有的效果。修改后的代码如下图(图11)所示。


图11

然后我们运行后效果如下所示(图12 和 图 13)


图12
图 13

大功告成,完美。

第三条:

如(图14)该页面用UITableView来布局,在竖屏模式下看起来不错,虽说这里的搜索栏显示也不太对,这个搜索栏恰好是作为Header视图插入到表格视图的,

图14

但是我们可以像刚才一样改动(如图15),

图15

也就是让搜索栏集成到导航栏中,在设置合适的活动状态,然后我们运行,竖屏看起来不错(如图16),

图16

但是如果我们横屏,搜索栏看起来也不错(如图17),但是用在表格区域的Header有问题,就是颜色没有延伸到屏幕边缘。

图17

根据代码(图18)我们可以看到,背景颜色是设置在了contentView上,但是这种做法在iPhone X 是不行的。

图18

我们打开如下图(图19)界面查看图层布局,

图19

为了更好的理解和查看,把重要元素提取出来如下图(图20),在图中我们可以看到,有个勾选项Inserts To Safe Area ,我们可以取消勾选(如果是代码布局,也可以通过属性来调用)用以实现背景色延伸到屏幕边缘,但是如果是使用这种方法,那么content View上面的控件也会移动,所以说这种方法不可取。

图20

在这里我们有更为简单的处理方法,代码如下(图21),我们直接设置它的backgroundView的颜色就好了。

图21

然后我们从新运行看效果(图22)

图22

大功告成,完美。

通过这三个问题,和解决办法,大家也应该看出来问题所在,其实对iPhone X 的UI布局来说,最主要就是Safe Area 这个东西。然而还有一个Layout Margin属性,在这里我们就先不做过多的叙述,具体的分布图如下(图23),想要详细了解的可以去查看苹果开发文档,或者网上搜索。

图23

最后再做一点总结:

第一:遵循iOS 11 SDK,并且使用Launch Storyboard ,可以让你的app使用原生全分辨率。
第二:然后竖屏模式下也可能会遇到一些问题,但大多数问题都处在横屏模式下,所以如果app支持横竖屏切换,一定要旋转一下界面测试UI布局,既要测试左旋转,也要测试右旋转。
第三:遵循Safe Area 可以避免大多数问题,Auto Layout 和 safeAreaLayoutGuides可以自动解决很多排版方面的问题,但是如果是手动布局也可以使用Safe Area 嵌入自由计算所需要的布局数据,这些属性都可以通过UIView类进行访问。
第四:最终要的一点,就是不要让控件干扰到屏幕底部的主屏幕指示器(就是那个横线)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容