【问题标题】:How to customise navigation title in SwftUI如何在 SwiftUI 中自定义导航标题
【发布时间】:2023-02-08 18:54:59
【问题描述】:

我有一个非常简单的NavigationStack,我想自定义标题,但我似乎找不到合适的修饰符来实现这一点。

NavigationStack {
    List {
        NavigationLink {
            Text("My Child View")
        } label: {
            Label("Child View")
        }
    }.navigationTitle("Parent View")
}

我想更改字体查找 .navigationTitle 的方式,并能够在右侧添加一个按钮。当我将 .font 修饰符添加到 .navigationTitle 时,它会将其添加到列表项,而不是标题。而.navigationTitle 似乎只接受一个字符串。

我希望实现以下目标(我的按钮将是 + 而不是 V 形)。

据我所知,我不能使用navigationTitle 来实现这一点。但是,如果我不使用它,则后退按钮的标题错误(它使用文本 Back 而不是 Parent View)。

【问题讨论】:

  • NavigationTitle 有一个以 Text 作为参数的变体,所以如果你想格式化文本,请使用它

标签: swift swiftui


【解决方案1】:

您可以使用 .toolbar 修饰符来实现两者:

    public var body: some View {
        NavigationStack {
            List {
                NavigationLink {
                    Text("My Child View")
                } label: {
                    Label("Child View", systemImage: "questionmark")
                }
            }
            .toolbar {
                ToolbarItem(placement: .navigationBarLeading) {
                    Text("Parent View")
                        .font(.system(size: 22, weight: .bold))
                }
                ToolbarItem(placement: .navigationBarTrailing) {
                    Button {
                        
                    } label: {
                        Image(systemName: "plus")
                    }

                }
            }
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    相关资源
    最近更新 更多