SwiftUI Sheet不显示NavigationTitle的问题
SwiftUI Sheet不显示NavigationTitle的问题

SwiftUI Sheet不显示NavigationTitle的问题

SwiftUI Sheet视图设置NavigationTitle,但实际上并不显示:

// Sheet 不显示 NavigationTitle
HomePrimaryBankSingleButtonView() {
    
}
.sheet(isPresented: $showMoreInformation) {
    HomeMoreInformationView(primary: primaryBank)
}

// 子视图设置 NavigationTitle
struct HomeMoreInformationView: View {
    var primary: PiggyBank
    
    var body: some View {
        ScrollView(showsIndicators: false) {
        }
        .navigationTitle("Settings")
    }
}

SwiftUI中的Sheet本身是一个独立的呈现层级,导航栏属于Navigation Content上下文,Sheet默认不在这个上下文中,因此Sheet不会显示NavigationTitle。

解决方案

在Sheet内包裹一层NavigationStack,

.sheet(isPresented: $showMoreInformation) {
    NavigationStack {   // 添加一层 NavigationStack
        HomeMoreInformationView(primary: primaryBank)
    }
}

这样Sheet就可以正常显示NavigationTitle。

   

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

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

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