swiftUI 中的后退按钮显示模式

backbuttondisplaymode in swiftUI

在 UIKit 中,UINavigationItem has this useful property called backButtonDisplayMode 可用于配置后退按钮的行为。

我只是想知道 SwiftUI 是否有类似的东西?或者,在 SwiftUI 中实现此目的的最佳方法是什么?我宁愿不必使用自定义后退按钮,实际上只希望后退按钮显示“后退”而不是上一个视图的导航标题。

你必须做一个自定义按钮,因为 SwiftUI 是声明式的,不是命令式的,但它们非常简单。

struct CustomBackButton: View {
    
    @Environment(\.presentationMode) var presentationMode
    
    var body: some View {
        Text("Hello, World!")
            .navigationBarBackButtonHidden(true)
            .toolbar {
                ToolbarItem(placement: .navigationBarLeading) {
                    Button(action: {
                        self.presentationMode.wrappedValue.dismiss()
                    }) {
                        HStack {
                            Image(systemName: "chevron.left")
                            Text("Back")
                        }
                    }
                }
            }
    }
}