29

它会在其本机键盘/表情符号板上发生变化,具体取决于两者中的哪一个是打开的。我认为它会根据 自动更改颜色UIInputViewController,但是自定义键盘扩展不会发生这种情况:

在此处输入图像描述

4

2 回答 2

36

你可以做一件事来解决这个问题。改变backgroundcolor你的ViewController's Viewfor home indicator。并根据您的需要 status bar appearance单独设置。coding

正如我添加的那样,这将改变你的home indicatorstatus bar color加上一个,添加safe area到你的其他。Chocolate colorseparate viewsafe areadesignyellow

在此处输入图像描述在此处输入图像描述

在此处输入图像描述

如果您想要不同的颜色,请在您想要的status bar地方调用它- viewDidLoadcolor

func setStatusBarBackgroundColor(color: UIColor) {

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

在此处输入图像描述

除此之外,您将无法appearanceappearance. home indicator我来给你展示。

在此处输入图像描述

这些是酒吧的可用性,您可以在其中控制appearance它。home indicator bar苹果没有为它的改变提供 任何选择。

这些是您可以控制外观的唯一栏 -
导航栏
搜索栏
状态栏
选项卡栏
工具栏

推荐链接 - iPhone-X 界面指南

于 2017-09-26T07:55:06.180 回答
0

如果您想为布局使用不同的顶部和底部边缘的其他背景颜色,或者想要在切换应用程序时保持状态栏背景颜色,您可以尝试添加两个不同背景颜色的不同视图,高度为 50 或更高 (pt)在每个布局笔尖。一个约束底部与安全区域顶部对齐,另一个约束顶部与安全区域底部对齐,然后使这两个视图的 IBOutlet 引用以在代码中以编程方式设置背景颜色。

于 2019-07-08T02:09:13.027 回答