更改导航栏颜色
Change the navigation bar color
我正在学习 swiftui 并且我写了这样一个非常简单的列表。
NavigationView {
List {
Toggle(isOn: $isFemale) {
Text("Voice: \(self.isFemale == true ? "Female":"Male")").font(.system(size: 17)).bold()
}.padding(4)
NavigationButton(destination: LanguagePage()) {
VStack(alignment: .leading) {
Text("Change Language").font(.system(size: 17)).bold().padding(4)
Text("English - English").font(.system(size: 17)).font(.system(.body)).padding(4)
}
}
.navigationBarTitle(Text("Settings"), displayMode: .large)}
如何更改导航栏颜色?目前,它是半透明的。如何更改为不透明?
您可以使用外观 API 更改导航栏标题和背景颜色
init() { // for navigation bar title color
UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor:UIColor.red]
// For navigation bar background color
UINavigationBar.appearance().backgroundColor = .green
}
NavigationView {
List {
Toggle(isOn: $isFemale) {
Text("Voice: \(self.isFemale == true ? "Female":"Male")").font(.system(size: 17)).bold()
}.padding(4)
NavigationLink(destination: LanguagePage()) {
VStack(alignment: .leading) {
Text("Change Language").font(.system(size: 17)).bold().padding(4)
Text("English - English").font(.system(size: 17)).font(.system(.body)).padding(4)
}
}
.navigationBarTitle(Text("Settings"), displayMode: .large)}
使用 XCode 11.0 beta 5 (11M382q),我可以使用以下工具:
struct TableWithNavTitle: View {
var body: some View {
// For navigation bar background color
UINavigationBar.appearance().backgroundColor = .red
return NavigationView {
List(0..<5) { item in
NavigationLink("\(item)", destination: Text("\(item)"))
}.navigationBarTitle("Title")
}
}
}
我正在学习 swiftui 并且我写了这样一个非常简单的列表。
NavigationView {
List {
Toggle(isOn: $isFemale) {
Text("Voice: \(self.isFemale == true ? "Female":"Male")").font(.system(size: 17)).bold()
}.padding(4)
NavigationButton(destination: LanguagePage()) {
VStack(alignment: .leading) {
Text("Change Language").font(.system(size: 17)).bold().padding(4)
Text("English - English").font(.system(size: 17)).font(.system(.body)).padding(4)
}
}
.navigationBarTitle(Text("Settings"), displayMode: .large)}
如何更改导航栏颜色?目前,它是半透明的。如何更改为不透明?
您可以使用外观 API 更改导航栏标题和背景颜色
init() { // for navigation bar title color
UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor:UIColor.red]
// For navigation bar background color
UINavigationBar.appearance().backgroundColor = .green
}
NavigationView {
List {
Toggle(isOn: $isFemale) {
Text("Voice: \(self.isFemale == true ? "Female":"Male")").font(.system(size: 17)).bold()
}.padding(4)
NavigationLink(destination: LanguagePage()) {
VStack(alignment: .leading) {
Text("Change Language").font(.system(size: 17)).bold().padding(4)
Text("English - English").font(.system(size: 17)).font(.system(.body)).padding(4)
}
}
.navigationBarTitle(Text("Settings"), displayMode: .large)}
使用 XCode 11.0 beta 5 (11M382q),我可以使用以下工具:
struct TableWithNavTitle: View {
var body: some View {
// For navigation bar background color
UINavigationBar.appearance().backgroundColor = .red
return NavigationView {
List(0..<5) { item in
NavigationLink("\(item)", destination: Text("\(item)"))
}.navigationBarTitle("Title")
}
}
}