iOS 11 安全区域布局指南向后兼容

标签 ios swift xcode compatibility safearealayoutguide

启用安全区域布局指南是否与低于 11 的 iOS 兼容?

enter image description here

最佳答案

我设法使用新的安全区域布局指南并保持与 iOS 9 和 iOS 10 的向后兼容性: (编辑:正如@NickEntin 的评论中所指出的,此实现将假设存在状态栏,而在 iPhone X 的横屏中则不会如此。导致顶部空间过大(20点)。但是它会运行得很好。

例如如果您希望 View 位于状态栏下方 10 点(以及 iPhone X 传感器外壳下方 10 点):

  1. 在您的 XIB 中,转到 File Inspector 并通过选中 Use Safe Area Layout Guides 启用保险箱。
  2. 创建一个从 View 顶部到主视图顶部的约束,使用>=(大于或等于)约束,常量30(30因为我们想要10分状态栏间距为 20 点)和优先级 High (750)。
  3. 创建一个从 View 顶部到安全区域顶部的约束,具有=(相等)约束、常量10 和优先级( 250).

对于底部的 View (以及安全区域的前导/尾随或左/右 View )也可以执行相同的操作:

  1. 在您的 XIB 中,转到 File Inspector 并通过选中 Use Safe Area Layout Guides 启用保险箱。
  2. 创建一个从 View 底部到主视图底部的约束,具有>=(大于或等于)约束,常数10和优先级High (750)。
  3. 创建一个从 View 底部到安全区域底部的约束,具有=(相等)约束,常数10和优先级( 250).

关于iOS 11 安全区域布局指南向后兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46184197/

相关文章:

ios - 发生崩溃是因为 "CALayer bounds contains NaN: [nan 0; nan 15.1]"

swift - 如何使用 Swift > 2.2 表示闭包中的可变参数?

swift - Xcode 11 中没有更多上下文的表达式类型不明确

ios - 如何从 GPUImageHarrisCornerDetector 获取角坐标?

ios - 将字符串转换为 `dd MMM yyy`格式的日期

iphone - 购买iOS源代码的网站?

ios - 如何在 NSOperationQueue 上使用 NSRunLoop?

ios - 自签名证书的 Swift SSL 错误

xcode - 如何在主项目中包含多个 Xcode 项目

xcode - 使用iOS模拟器调试网络请求,网络请求数据未显示