如何有条件地向将在 NavigationView 中显示的 SwiftUI View 添加尾随的 navigationbaritem?
How to add a trailing navigationbaritem conditionally to a SwiftUI View which will be presented in a NavigationView?
要将 navigationBarItem 添加到 SwiftUI 视图,我们可以使用类似于以下的代码:
NavigationView {
Text("SwiftUI")
.navigationBarTitle("Welcome")
.navigationBarItems(trailing: Button("Help") {
print("Help tapped!")
}
)
}
如何有条件地做到这一点。假设数组为空,则显示 "Help" 条形按钮,否则不显示条形按钮。
您可以有条件地 return 按钮作为视图,或者如果数组为空则为 nil
struct ContentView: View {
var arr = ["String"] // also test [String]()
var body: some View {
NavigationView {
Text("SwiftUI")
.navigationBarTitle("Welcome")
.navigationBarItems(trailing: !arr.isEmpty ? Button("Help") {
print("Help tapped!")
} : nil
)
}
}
}
要将 navigationBarItem 添加到 SwiftUI 视图,我们可以使用类似于以下的代码:
NavigationView {
Text("SwiftUI")
.navigationBarTitle("Welcome")
.navigationBarItems(trailing: Button("Help") {
print("Help tapped!")
}
)
}
如何有条件地做到这一点。假设数组为空,则显示 "Help" 条形按钮,否则不显示条形按钮。
您可以有条件地 return 按钮作为视图,或者如果数组为空则为 nil
struct ContentView: View {
var arr = ["String"] // also test [String]()
var body: some View {
NavigationView {
Text("SwiftUI")
.navigationBarTitle("Welcome")
.navigationBarItems(trailing: !arr.isEmpty ? Button("Help") {
print("Help tapped!")
} : nil
)
}
}
}