我正在尝试为NavigationBar
创建一个自定义后退按钮,可以在其中放置我喜欢的任何文本。我的主要用例是我的某些视图没有标题,当我从中单击到新视图时,导航栏中新视图的后退按钮没有文本,只有一个箭头。这使得用户很难点击它。我希望设置一个自定义的后退按钮,该按钮具有文本“ Back”(后退),但也具有后退按钮图标,并且可以与SwiftUI的动画机制完美配合。
这是我当前的尝试,将UIKit元素包装在View中,以便可以与SwiftUI一起使用:
struct CustomBackButton: UIViewControllerRepresentable {
typealias UIViewControllerType = ViewController
@Binding var title: String
func makeUIView(context: Context) -> UIBarButtonItem {
return UIBarButtonItem()
}
func updateUIView(_ uiView: UIBarButtonItem, context: Context) {
uiView.title = title
}
}
它显然不起作用,我目前不确定如何使其真正起作用。
我的理想情况是CustomBackButton
可以这样工作,以便我可以像这样在SwiftUI中使用它:
var body: some View {
NavigationView {
Text("Page with no title")
.navigationBarItems(leading: CustomBackButton(title: "Back"))
.navigationBarTitle("", displayMode: .large)
}
}
要正确地将CustomBackButton
包装到SwiftUI View
中,我该怎么做?