技術と本について書くブログ

技術と本について書くblog。技術メモなど雑記を書いているblog。

iOSの広告で'bottomLayoutGuide' was deprecated in iOS 11.0エラーが出る時の対象法

Admobの広告を設置した時にでる時の警告

'bottomLayoutGuide' was deprecated in iOS 11.0: Use view.safeAreaLayoutGuide.bottomAnchor instead of bottomLayoutGuide.topAnchor

が出た時の対象法

func addBannerViewToView(_ bannerView: GADBannerView) {
    bannerView.translatesAutoresizingMaskIntoConstraints = false
    view.addSubview(bannerView)
    view.addConstraints(
        [NSLayoutConstraint(item: bannerView,
                            attribute: .bottom,
                            relatedBy: .equal,
                            toItem: bottomLayoutGuide, <- ここ
                            attribute: .top,
                            multiplier: 1,
                            constant: 0),
         NSLayoutConstraint(item: bannerView,
                            attribute: .centerX,
                            relatedBy: .equal,
                            toItem: view,
                            attribute: .centerX,
                            multiplier: 1,
                            constant: 0)
    ])
}

NSLayoutConstraintの toItemは位置計算に使用するview。 これを view.safeAreaLayoutGuideにする