web-dev-qa-db-ja.com

iPhone Xステータスバーの高さ

autoLayoutまたはinterface-builderを使用せず、すべてコードでアプリを開発しました。 iPhone Xを除くすべてのiPhonesで正常に実行されます。トップバーは中央の新しい黒いものの下に留まります。

コードでその高さを取得することは可能ですので、Navigationbarをその高さにシフトし、すべて正常に実行できますか?

私が見る解決策は、自動レイアウトを使用しています。

距離を下げてシフトダウンしたいだけです。

11
F79

Swiftアプリでは、ステータスバーのframeを取得します

スウィフト:UIApplication.shared.statusBarFrame

Objective-C:[UIApplication sharedApplication].statusBarFrame

これはCGRectなので、その上でsize.heightを実行することで高さを取得できます。したがって、完全に、Objective-Cでこれを実行できます。

[UIApplication sharedApplication].statusBarFrame.size.height
15
Michael Hulet

ステータスバーの非表示の有無にかかわらず、いつでもステータスバーの高さを取得できます。

UIApplication.shared.keyWindow!.safeAreaInsets.top

およびホーム画面インジケータ

UIApplication.shared.keyWindow!.safeAreaInsets.bottom

風景の場合、値は変わります

safeAreaLayoutGuideもあります

6
Puttin