navigationBarTitleDisplayMode(_:) 是 SwiftUI 用于控制导航栏标题显示方式的修饰符。它用于调整 NavigationStack 或 NavigationView 中标题的展示样式。
可选值
navigationBarTitleDisplayMode(_:) 接受 NavigationBarItem.TitleDisplayMode 枚举值:
.automatic(默认值):iOS 会自动决定标题的显示方式,通常在 NavigationStack 里会以大标题(Large Title)方式显示。
.inline:标题以小字号的形式显示(与普通的 ToolbarItem 一样),不会占用额外的导航栏空间。
.large:标题会以大字号方式显示,并占据更多导航栏空间,适用于需要更醒目标题的情况。
.navigationTitle("My App")
.navigationBarTitleDisplayMode(.inline) // 使标题保持小字号
总结
在实际应用中,如果不使用navigationBarTitleDisplayMode,在代码中使用
ToolbarItem(placement: .principal) {
Text("Sinking elimination")
.foregroundColor(Color(hex: "2F438D")) // 确保 Color(hex:) 已实现
.font(.headline)
}
就会出现一个由ToolbarItem产生的空白间距。

当给toolbar添加navigationBarTitleDisplayMode后:
.toolbar {
// 标题
ToolbarItem(placement: .principal) {
Text("Sinking elimination")
.foregroundColor(Color(hex: "2F438D")) // 确保 Color(hex:) 已实现
.font(.headline)
}
}
.navigationBarTitleDisplayMode(.inline)
空白间距消失。
