SwiftUI导航栏toolbar标题修饰符navigationBarTitleDisplayMode
SwiftUI导航栏toolbar标题修饰符navigationBarTitleDisplayMode

SwiftUI导航栏toolbar标题修饰符navigationBarTitleDisplayMode

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)

空白间距消失。

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注