swift 如何在SwftUI中自定义导航标题

pcww981p  于 2023-02-11  发布在  Swift
关注(0)|答案(1)|浏览(112)

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

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

我想改变.navigationTitle的字体外观,并且能够在右边添加一个按钮。当我向.navigationTitle添加.font修饰符时,它会将其添加到列表项中,而不是标题中。并且.navigationTitle只接受字符串。
我期待着实现以下(我的按钮将是一个+,而不是一个V形)。

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

bfhwhh0e

bfhwhh0e1#

使用.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")
                    }

                }
            }
        }
    }

相关问题