如何通过Storyboard仅为iPhone X在顶部额外增加按钮高度?
当然可以用Storyboard完美解决这个问题!
这其实是iOS 11以后引入的**安全区域(Safe Area)**要解决的典型布局问题,不用写一行代码就能通过Storyboard搞定,步骤很简单:
- 选中你的加号按钮,打开右侧的「Attributes Inspector」,或者直接在Storyboard里右键按钮选择「Add Constraints」
- 找到按钮的顶部约束——如果之前是绑定到「Superview.Top」或者旧的「Top Layout Guide」,把它改成绑定到Safe Area.Top
- 如果你想让按钮和安全区域顶部留一点自定义间距,只需要调整这个约束的「Constant」值(比如设为8,根据你的视觉需求调整就行)
这样设置后,在iPhone X及以后有刘海的机型上,按钮会自动对齐安全区域的顶部(避开刘海区域);而在没有刘海的旧iPhone上,安全区域的顶部就是屏幕顶部,按钮位置和之前完全一致,完美适配所有机型!
要是你的项目需要兼容iOS 10及更早版本,可以这么处理:
- 给按钮同时添加两个顶部约束:一个绑定「Top Layout Guide」,另一个绑定「Safe Area.Top」
- 选中其中一个约束,在右侧「Attributes Inspector」里找到「Installed」选项,点击旁边的小箭头选择「Add Variation」,然后针对iOS 11及以上启用Safe Area的约束,iOS 10及以下启用Top Layout Guide的约束
附上你提供的对比图:

内容的提问来源于stack exchange,提问作者Joris
相关产品推荐
相关产品推荐

