iOS 14.4 和 Xcode 12.4
我正在尝试为导航栏的背景着色,但无法正常工作。以下是我正在做的示例应用:
import SwiftUI
struct ContentView: View {
var body: some View {
NavigationView {
ZStack{
//Nav Background Color
Color.blue.ignoresSafeArea()
VStack{
ZStack{}
.toolbar{
ToolbarItem(placement: .navigationBarLeading) {
//...
}
ToolbarItem(placement: .principal) {
Text("Automatic")
}
ToolbarItem(placement: .navigationBarTrailing) {
//...
}
}
Text("Content")
}
}
//This is where I'm making changes...
.navigationBarTitleDisplayMode(.automatic)
//.navigationBarTitleDisplayMode(.inline)
.ignoresSafeArea()
}
}
}
当我将 .navigationBarTitleDisplayMode
设置为 .automatic
时,我会得到一个彩色导航栏(这正是我想要的)。但缺点是它使用了大标题样式并将我的内容向下推。
当我将其设置为.inline
(这是我想要的标题样式)时,导航栏继承了默认系统颜色:
为什么会这样?如何在仍然获得我想要的导航栏背景颜色的同时获得 .inline
导航栏标题?我希望不必恢复到 UIKit。