IOS11およびiPhoneXの場合 Apple指定 すべてのアプリは「安全な領域」に存在する必要があります(仮想ホームボタンのため):
クリッピングを防ぐために重要なコンテンツを挿入します。[...]最良の結果を得るには、標準のシステム提供のインターフェイス要素と自動レイアウトを使用してインターフェイスを構築します。すべてのアプリは、UIKitで定義された安全領域とレイアウトマージンに準拠する必要があります。これにより、デバイスとコンテキストに基づいて適切な設定が保証されます。安全領域は、コンテンツがステータスバー、ナビゲーションバー、ツールバー、およびタブバーと重ならないようにします。
問題は、タブバーが画面のこの部分を覆っているIonic app(v。1)であるため、バーはホームボタンの下にあります。
誰かがそれを修正する方法を知っていますか?
(注意:iPhoneXシミュレーター内で新しいIonic app v1を実行すると、ウィンドウの上部と下部に2つの黒いスペースが表示されますが、これにより「ビューポート-」が追加されるのを防ぐことができます。 index.html内のメタタグにfit = cover ")
Ionic1プロジェクトの場合、タブナビゲーションをターゲットにすることでうまくいくことがわかりました。
.tab-nav {
margin-bottom: constant(safe-area-inset-bottom);
}
この回答 で概説されているのと同じ原則をIonic v1フッターに適用できるはずです。
.bar-footer {
margin-bottom: constant(safe-area-inset-bottom);
}
(または同様のもの-私はこれをテストしていません)
カスタムtabBarメインビューに制約を追加して、下部のsafeAreaLayoutGuideに接続できます。
yourView.bottomAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.bottomAnchor).isActive = true
Ionic 4プロジェクトの場合、これは次のようになります。
app.scss
body {
margin-top: env(safe-area-inset-top);
margin-top: constant(safe-area-inset-top);
}
ion-tab-bar {
margin-bottom: env(safe-area-inset-bottom);
}
envは最新のiOS11バージョン用であり、constantは古いバージョン用です。