我有这个扩展,允许我有一些UIView属性(例如backgroundColor):
extension UIApplication {
var statusBarView: UIView? {
return value(forKey: "statusBar") as? UIView
}
}
然后我在应用程序(didFinishLaunchingWithOptions :)中编写此代码
UIApplication.shared.statusBarView?.backgroundColor = #colorLiteral(red: 0.3411764801, green: 0.6235294342, blue: 0.1686274558, alpha: 1)
UINavigationBar.appearance().barTintColor = #colorLiteral(red: 0.3411764801, green: 0.6235294342, blue: 0.1686274558, alpha: 1)
正如你所看到的颜色是相同的,但结果很奇怪,因为事实上它们是不同的:
看到两种绿色的区别? 为什么会出现这种差异?
谢谢!
答案 0 :(得分:1)
尝试设置以下值:
UINavigationBar.appearance().shadowImage = UIImage()
如果这没有帮助,请尝试使用以下命令(我在我的应用程序中使用它们将所有内容设置为白色背景):
UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .any, barMetrics: .default)
UINavigationBar.appearance().shadowImage = UIImage()
UINavigationBar.appearance().isTranslucent = false
UITabBar.appearance().shadowImage = UIImage()
UITabBar.appearance().backgroundImage = UIImage()
UITabBar.appearance().backgroundColor = UIColor.white