web-dev-qa-db-ja.com

iPhone Xのボトムエッジの色をプログラムで変更する方法は?

どちらが開いているかに応じて、ネイティブのキーボード/絵文字ボードで変更されます。 UIInputViewControllerに基づいて自動的に色が変わると思いましたが、カスタムキーボード拡張では発生しません。

enter image description here

24
VDog

これを解決するためにできることの1つ。 ViewController's Viewhome indicatorbackgroundcolorを変更します。そして、必要に応じてcodingを介してstatus bar appearanceを個別に設定します。

これにより、home indicatorstatus bar color、さらにsafe areaChocolate colorに変更され、他のdesignseparate viewsafe areaが追加されます。これはyellowを追加したためです。

enter image description hereenter image description here

enter image description here

status barに別の色が必要な場合は、viewDidLoadからcolorでどこかに呼び出します-

func setStatusBarBackgroundColor(color: UIColor) {

        guard let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView else { return }
        statusBar.backgroundColor = color
    }  

enter image description here

これとは別に、少なくともAppleがhome indicatorappearanceを制御する方法を提供するまでは、appearanceで他の変更を行うことはできません。

enter image description here

これらはバーの可用性であり、バーのappearanceを制御できます。 home indicator barオプションはありませんAppleはその変更を提供しています。

これらは、外観を制御できる唯一のバーです-
ナビゲーションバー
検索バー
ステータスバー
タブバー
ツールバー

紹介リンク- iPhone-Xインターフェイスガイドライン

30
Kiran Jasvanee

レイアウトに他の背景色を使用して上下の端が異なる場合、またはアプリの切り替え中にステータスバーの背景色を維持したい場合は、高さ50以上の異なる背景色の2つの異なるビューを追加することができます(pt)各レイアウトのペン先。 1つの制約は安全領域の上部と下部の整列を制約し、もう1つの制約は安全領域の下部と上部の整列を制約し、これら2つのビューのIBOutlet参照を作成して、コードでbackgroundColorをプログラムで設定します。

0
Shrdi