【问题标题】:backbuttondisplaymode in swiftUIswiftUI中的后退按钮显示模式
【发布时间】:2021-10-30 19:32:56
【问题描述】:

在 UIKit 中,UINavigationItem 有一个名为 backButtonDisplayMode 的有用属性,可用于配置后退按钮的行为。

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

【问题讨论】:

    标签: ios swift swiftui uikit


    【解决方案1】:

    您必须做一个自定义按钮,因为 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")
                            }
                        }
                    }
                }
        }
    }
    

    【讨论】:

    • 谢谢!不知道为什么我认为它会更难复制。我提交了一个编辑,将.font(Font.body.weight(.semibold)) 添加到图像中以复制默认的系统后退按钮。
    猜你喜欢
    • 2021-03-18
    • 2020-12-05
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多