iOSはiPhoneX / iphone11 / iphone12ナビゲーションバーの高さ(ノッチ画面)を適応させます
Ios Adapts Iphonex Iphone11 Iphone12 Navigation Bar Height
ナビゲーションバーの高さの以前の適応(Liu Haiping)は、デバイスタイプによって決定され、デバイスをx、11、または12と判断した後、ナビゲーションバーの高さを88に設定します。しかし、これには欠点があります。つまり、多くのデバイスタイプコードを記述する必要があり、Appleはデバイスの判断を追加する必要があります~~
これで、ステータスバーの高さでナビゲーションバーの高さを設定できます。私たちが通常話しているナビゲーションバーは、実際にはステータスバー+ナビゲーションバーです。
ナビゲーションバー(話し言葉)=ステータスバー+ナビゲーションバー(実際のナビゲーションバー)
ナビゲーションバー:CGRect rectNav = 自己 .navigationController.navigationBar.frame
ステータスバー:CGRect statusRect = [[UIApplication sharedApplication] statusBarFrame]
コードから、ナビゲーションバーの高さは常に44であり、ステータスバーの高さはモデルごとに異なることがわかります(iphone6sは20、iphone8Pは20、iphone11は48、iphone12は47 ...)
多くのテストの結果、劉海萍を搭載した携帯電話のステータスバーは20を超えているため、ステータスバーの高さはステータスバーの高さで設定できます。コードは次のように表示されます。
+( BOOL )supportFaceID {
//ステータスバーの高さを取得します
浮く statusHeight = [[UIApplication sharedApplication] statusBarFrame] .size.height
もし (statusHeight> 20){
戻る はい
} そうしないと {{
戻る しない
}
}
友人は、ナビゲーションバーの高さを決定するために必要な場合にこのメソッドを呼び出します。はいは88、いいえは44です。
別のコードのスクリーンショットを投稿する