Tag: safearealayoutguide

安全使用“安全区域布局指南”

从iOS 11开始,不推荐使用顶部和底部布局指南属性,并且Apple引入了安全区域布局指南。 顶部和底部布局指南是在iOS 7中引入的,其主要目的是引导我们将视图与根视图的顶部或底部对齐,以使我们的视图不会被顶部或底部的条遮挡。 顶部和底部布局指南由在UIView上定义的单个属性“ safeAreaLayoutGuide”代替(与UIViewController的顶部和底部布局指南相比)。 它是UILayoutGuide类的实例,这使得它非常易于使用,尤其是与布局锚点一起使用时。 如果您不熟悉UILayoutGuide,可以在我的文章“ UILayoutGuide终极指南”中找到有关它的详细讨论。 或者,如果您从未使用过NSLayoutAnchors,我也会写一篇有关它的文章。 安全区域布局指南 安全区域布局指南提供了一个不会被遮挡的视图区域,您可以将视图与其对齐以实现最大的可视性。 该区域根据顶部和底部条的可用性进行调整。 它是UILayoutGuide的实例,提供了一些属性来绑定视图。 这是有关UILayoutGuide的详尽指南。 与仅在视图控制器中可用的顶部和底部布局指南不同,安全区域布局指南在独立视图中也可用。 使用安全区域布局指南添加约束 在Xcode中: 您可以将视图与安全区域布局指南绑定,就像之前将其与顶部或底部布局指南绑定一样。 以编程方式: 添加安全区域布局指南非常容易。 启用/禁用安全区域布局指南 默认情况下,主故事板的安全区域布局指南已启用。 如果要在Xcode 9中创建新的xib或情节提要,则已经启用了安全区域布局指南选项。 通过进入Interface Builder的文件检查器菜单,然后取消选中“使用安全区域布局指南”选项,可以显式禁用此选项。 在文件检查器菜单中禁用“使用安全区域布局指南”,会将安全区域布局指南附带的约束替换为顶部和底部布局指南,或者如果是视图,则将约束替换为视图的顶部和底部约束。 更改安全区域 您可以重写UIViewController的AdditionalSafeAreaInsets属性来指定自己的安全区域。 更改安全区域也会为子视图也产生新的安全区域。 在上图中,灰色子视图的安全区域发生了变化,并使自身与超级视图的安全区域对齐。 绿色和红色矩形分别显示了我们根视图的安全区域和布局边距指南。 蓝色和黄色矩形代表子视图的安全区域和布局边距。 结论 安全区域布局指南利用了UILayoutGuide API的优势。 它易于在IB或以编程方式实现。 因此,该与我们的老朋友顶部和底部布局指南说再见了。

iPhone X – 设置家庭指示灯周围区域的颜色

当我试图将一个表单alignment到iPhone X的安全区域时,我对Xcode非常陌生,它在表单下面留下了一个透明的区域。 有没有方法可以设置该区域的填充而不扩展纸张或在安全区域之外alignment?

扩展iOS 11安全区域以包含键盘

iOS 11中引入的新的安全区域布局指南很好地防止内容在栏下显示,但不包括键盘。 这意味着当键盘显示时,内容仍然隐藏在它后面,这是我正在试图解决的问题。 我的方法是基于收听键盘通知,然后通过additionalSafeAreaInsets调整安全区域。 这是我的代码: override func viewDidLoad() { let notificationCenter = NotificationCenter.default notificationCenter.addObserver(self, selector: #selector(keyboardWillShow(notification:)), name: NSNotification.Name.UIKeyboardWillShow, object: nil) notificationCenter.addObserver(self, selector: #selector(keyboardWillHide(notification:)), name: NSNotification.Name.UIKeyboardWillHide, object: nil) notificationCenter.addObserver(self, selector: #selector(keyboardWillChange(notification:)), name: NSNotification.Name.UIKeyboardWillChangeFrame, object: nil) } //MARK: – Keyboard extension MyViewController { @objc func keyboardWillShow(notification: NSNotification) { let userInfo = notification.userInfo! let keyboardHeight = (userInfo[UIKeyboardFrameEndUserInfoKey] as! […]

目标C:如何以编程方式在安全区域内创buildself.view

我刚刚改变了我的应用程序从支持iOS 8,并支持iOS 9和以上。 由于我不使用故事板创build我的意见,我想知道是否有“使用安全区指南”选项编程或类似的东西。 我试图锚定我的观点,但他们保持重叠在iPhone X模拟器的顶部和底部。

xcode 9中xib的安全区是什么?

你能不能让我知道xcode 9的xibs中的安全区域(图中突出显示),这是什么用途?

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

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

以编程方式使用安全区域布局

由于我不使用故事板创build我的意见,我想知道是否有编程或类似的“使用安全区指南”选项。 我试图把我的观点固定下来 view.safeAreaLayoutGuide 但是它们在iPhone X模拟器中保持了重叠。