是否可以在SwiftUI中使NavigationView标题可单击?

时间:2019-12-20 13:37:52

标签: swiftui

我想在点击时为NavigationView标题添加动作。在SwiftUI中可以吗?

1 个答案:

答案 0 :(得分:0)

如果您可以使用.inline标题显示模式,您可以使用iOS 14中引入的新toolbar API来覆盖导航栏中显示的标题。

请看下面的简单示例,点击标题会增加计数器:

struct ContentView: View {
    @State private var counter = 0

    var body: some View {
        NavigationView {
            VStack {
                Text("Main content")
                Text("\(counter)")
                    .font(.title)
            }
            .navigationBarTitleDisplayMode(.inline)
            .toolbar(content: {
                ToolbarItem(placement: .principal) {
                    Text("Press here")
                        .bold()
                        .onTapGesture {
                            counter += 1
                        }
                }
            })
        }
    }
}