我用它来设置NavigationBarColor在运行之前:
with open('urls.txt', 'r') as f:
for line in f:
line = line.strip() # this might be optional
if line.startswith('/'):
print(line.split("/")[1])
但是在程序中,我想更改NavigationBarColor,所以我再次使用它
UINavigationBar.appearance().barTintColor = Color.NavigationBackground
但是什么也没发生,仍然是白色(Color.Background)
颜色是我定义的结构。
如何正确改变颜色?
我想这样实现:Trying to reload view controller to update the current theme
答案 0 :(得分:2)
如果您希望每个屏幕具有不同的颜色,则会在视图下方的行中添加您选择的颜色,它将更改每个屏幕的颜色。
Swift 4.2:
//To change Navigation Bar Background Color
UINavigationBar.appearance().barTintColor = UIColor.blue
//To change Back button title & icon color
UINavigationBar.appearance().tintColor = UIColor.white
//To change Navigation Bar Title Color
UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
将其添加到视图中,然后您可以看到它正在更改。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.barTintColor = .orange
}
答案 1 :(得分:1)
如果要更改导航栏颜色
navigationController?.navigationBar.barTintColor = UIColor.black
答案 2 :(得分:1)
使用外观API和barTintColor颜色。
UINavigationBar.appearance().barTintColor = UIColor.red
答案 3 :(得分:1)
在您的ViewController's
viewWillAppear(_:)
中,只需将navigationBar's
barTintColor
设置为所需的color
,即
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.barTintColor = .red
}
答案 4 :(得分:1)
使用此代码最初在UINavigationBar
的{{1}}中设置Appdelegate
的颜色。
didFinishLaunchingWithOptions
当您想在应用程序中更改 UINavigationBar.appearance().isTranslucent = false
UINavigationBar.appearance().backgroundColor = Color.Background
UINavigationBar.appearance().barTintColor = Color.Background
UINavigationBar.appearance().tintColor = UIColor.white
的颜色时,只需使用以下代码行。假设更改颜色是您的按钮操作。
UINavigationBar