2017-09-23 16 views
2

古いプロジェクトのメイン画面の下部にGoogle Admobバナー(コードで作成)があります。 Xcode 9 SimulatorのiPhone Xを除く、すべてのデバイスで完璧に動作します。バナーはホームの "ボタン"ジェスチャー領域の後ろの画面の最下部に固定されています。私はそれが底の安全な領域の上にあることが必要です。Google AdmobバナーをiPhone Xの下部に固定

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

バナーの下部がホームジェスチャー領域のすぐ上にくるように、中心点を変更するにはどうすればよいですか?

ここでは、何が起こっているかのスクリーンショットを示します。 Admob banner behind iPhone X home area

答えて

2

safeAreaLayoutGuideを使用して、下限制約をadmob bannerに設定できます。

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) 
} 

それはスペースを残します= safeAreaLayoutGuide bottomMargin

+0

私は 'NSLayoutConstraint'をしようとしたときはいつでも、それは私にエラーを与える:'型NSExceptionのキャッチされない例外で終了' '制約項目はそれぞれUIView、UILayoutGuideのインスタンスでなければなりません。 ' –

+0

@BrunoRecillas新しい質問を作成してコードを表示する必要があります。 – TomSawyer

+0

私はまったく同じエラーがあります - あなたはそれを解決することができますか、またはそれに応じたリンクを投稿できますか? – Yeehaw

関連する問題