您好,我想将状态栏设置为与UINavigationBar
完全相同的颜色。我在下面显示的代码中使用了完全相同的颜色,但是从图像中可以看到,它们的颜色不是相同的蓝色。是否有任何方法可以使它们相同。我试图用Google搜索,但找不到任何解决方案。
UIApplication.shared.statusBarView?.backgroundColor = UIColor(red: 13/225, green: 71/255, blue:161/255, alpha: 1.0)
UINavigationBar.appearance().barTintColor = UIColor(red: 13/225, green: 71/255, blue:161/255, alpha: 1.0)
答案 0 :(得分:1)
您可以将以下功能添加到array_diff(array_merge($a, $b), array_intersect($a, $b))
文件中
AppDelegate.swift
并在func changeStatusBarColor(_ color: UIColor) {
guard let statusBar = (UIApplication.shared.value(forKey: "statusBarWindow") as AnyObject).value(forKey: "statusBar") as? UIView else {
return
}
statusBar.backgroundColor = color
}
方法中使用,如下所示
didFinishLaunchingWithOptions
已编辑
您可以在self.changeStatusBarColor(UIColor.black) //pass the color you want to set
文件中使用共享实例
AppDelegate.swift
之后,只要您设置导航背景色,就将其传递给static let shared = AppDelegate()
方法
使用以下方法将其设置为导航背景色
changeStatusBarColor
答案 1 :(得分:1)
尝试将半透明更改为false
navigationBar.isTranslucent = false
答案 2 :(得分:0)
如果要使其与导航栏匹配,则不必设置状态栏颜色。注释掉以下行可以在我的环境中解决此问题。
obj=1
或者,您可以执行以下操作:
class Obj (models.Model):
name = models.CharField(max_length=40)
class CharAttribute (models.Model):
name = models.CharField(max_length=40)
obj = models.ForeignKey(Obj, on_delete=models.CASCADE)
class IntAttribute (models.Model):
name = models.CharField(max_length=40)
obj = models.ForeignKey(Obj, on_delete=models.CASCADE)
答案 3 :(得分:0)
self.navigationController?.navigationBar.tintColor = UIColor.blue
self.navigationController?.navigationBar.barTintColor = UIColor.blue
我在xcode 10.1和swift 4.2上运行。希望这会有所帮助。
答案 4 :(得分:0)
self.navigationController.navigationBar.barTintColor = UIColor.yourColor