在UIKit中,UINavigationItem有这个有用的属性叫做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")
}
}
}
}
}
}