私はNavigationBarのように使うheaderviewというUIViewを持っています。それは60の一定のサイズと左/右/レイアウトの制約が0です。安全なエリアのレイアウトのため、iPhone Xを除くすべてのデバイスに問題はないようです。サイズを90に変更すると、iPhone Xでは大丈夫ですが、他のデバイスでは間違っています。私は下のコードで安全な領域の高さを計算し、それを高さに追加しますが、他のデバイスでは小さく見えます。この問題を解決する最良の方法は何ですか?iPhone Xのセーフエリアガイド付きUIViewの高さを計算する
if (@available(iOS 11.0, *)) {
UIWindow *window = UIApplication.sharedApplication.keyWindow;
CGFloat topPadding = window.safeAreaInsets.top;
self.headerViewHeight.constant = 46 + topPadding;
}
'60 + topPadding 'にする必要はありませんか? – Simon
はい、しかし、私がそれを好きなのは、topPaddingが44であるからです。結果は、実際のサイズよりも104ほど大きくなります。 –