将Google Admob横幅固定到iPhone X的底部

时间:2017-09-23 05:34:53

标签: swift autolayout admob

我在旧项目的主屏幕底部有一个Google Admob横幅(在代码中创建)。它在所有设备上都很完美,除了Xcode 9 Simulator中的iPhone X.横幅固定在屏幕的绝对底部,位于Home"按钮后面。手势区。我需要它在那个底部安全区域之上。

adBannerView.center = CGPoint(x: view.frame.midX, y: view.bounds.height - adBannerView.bounds.height / 2)

如何更改中心点,以使横幅的底部位于Home手势区域的上方?

供参考,以下是发生了什么的屏幕截图。 Admob banner behind iPhone X home area

1 个答案:

答案 0 :(得分:2)

您可以使用safeAreaLayoutGuide设置底部约束以欣赏横幅。

if #available(iOS 11, *) {
    NSLayoutConstraint(item: admobbanner, attribute: .bottom, relatedBy: .equal, toItem: view.safeAreaLayoutGuide.bottomAnchor, attribute: .bottom, multiplier: 0.0, constant: 0.0)
}

或使用snapkit:

if #available(iOS 11, *) {
    make.bottom.equalTo(view.safeAreaLayoutGuide.snp.bottomMargin)
}

它将离开space = safeAreaLayoutGuide bottomMargin