如何以编程方式更改iPhone X的底边颜色?

时间:2017-09-21 22:42:24

标签: ios swift iphone-x

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

enter image description here

2 个答案:

答案 0 :(得分:28)

你可以做一件事来解决这个问题。更改backgroundcolor ViewController's View的{​​{1}}。并根据您的需要通过home indicator单独设置status bar appearance

这会将您的codinghome indicator加上status bar color改为safe area,在Chocolate color为您的其他separate view添加safe area因为我已添加design

enter image description here enter image description here

enter image description here

如果您想为yellow添加不同的颜色,请在status barviewDidLoad之间的某个位置调用它 -

color

enter image description here

除此之外,您无法在func setStatusBarBackgroundColor(color: UIColor) { guard let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView else { return } statusBar.backgroundColor = color } 中进行任何其他更改,至少目前为止,直到苹果提供任何方式来控制appearance appearance。让我演示给你看。

enter image description here

这些是条形图的可用性,您可以在其中控制它的home indicator。 Apple没有提供appearance选项进行更改。

这些是你可以控制外观的唯一栏杆 -
Navigation Bars
Search Bars
Status Bars
Tab Bars
Tool Bars

推荐链接 - iPhone-X Interface Guidelines

答案 1 :(得分:0)

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