SwiftUI隐藏NavigationLink视图的返回按钮
SwiftUI隐藏NavigationLink视图的返回按钮

SwiftUI隐藏NavigationLink视图的返回按钮

在SwiftUI中,使用NavigationLink跳转的视图默认会显示左上角的返回按钮(Back 按钮)。

如果想隐藏返回按钮,可以使用 .navigationBarBackButtonHidden(true)。

在目标视图(被 NavigationLink 跳转到的视图)里添加:

struct DestinationView: View {
    var body: some View {
        VStack {
            Text("This is the destination view")
        }
        .navigationBarBackButtonHidden(true) // 隐藏返回按钮
    }
}

这样进入 DestinationView 后,左上角的返回按钮就不会显示了。

如果目标视图使用的是NavigationView,则考虑添加到NavigationView后面:

struct GameMembershipView: View {
    var body: some View {
        NavigationView {
            ScrollView {
                Text("fangjunyu.com")
            }
        }
        .navigationBarBackButtonHidden(true)
    }
}

如果希望有返回功能,但不要默认的 Back 按钮,可以自己添加一个自定义的返回按钮,例如:

struct DestinationView: View {
    @Environment(\.dismiss) private var dismiss

    var body: some View {
        VStack {
            Text("This is the destination view")
        }
        .navigationBarBackButtonHidden(true) // 隐藏默认返回按钮
        .toolbar {
            ToolbarItem(placement: .navigationBarLeading) {
                Button(action: {
                    dismiss() // 手动返回上一个视图
                }) {
                    Image(systemName: "chevron.left") // 自定义返回按钮
                        .foregroundColor(.blue)
                }
            }
        }
    }
}

这样可以隐藏系统默认的返回按钮,并使用自己的返回按钮来控制导航行为。

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

发表回复

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