【发布时间】:2021-08-15 22:19:05
【问题描述】:
我有一个带有添加按钮 (NavigationBarItem) 的导航视图,并希望在每个选项卡中设置导航栏项目的不同目标。
enum Tab: String {
case income = "Income"
case expenses = "Expenses"
case budgets = "Budget"
case investment = "Investment"
case assets = "Asset"
}
我已经尝试将视图作为原始值赋予结构,但这是不可能的。我该怎么做?
var body: some View {
NavigationView {
TabView(selection: $selection) {
Text("Place Holder Income")
.tabItem {
Label("Income", systemImage: "star")
}
.tag(Tab.income)
.navigationBarHidden(false)
ExpensesView()
.tabItem {
Label("Expenses", systemImage: "star")
}
.tag(Tab.expenses)
.navigationBarHidden(false)
Text("Place Holder Budgets")
.tabItem {
Label("Budgets", systemImage: "star")
}
.tag(Tab.budgets)
.navigationBarHidden(false)
Text("Place Holder Investment")
.tabItem {
Label("Investment", systemImage: "star")
}
.tag(Tab.investment)
.navigationBarHidden(false)
Text("Place Holder Assets")
.tabItem {
Label("Assets", systemImage: "star")
}
.tag(Tab.assets)
.navigationBarHidden(false)
}
.navigationTitle(selection.rawValue)
.navigationBarItems(
trailing:
NavigationLink("Add", destination: AddExpensesView())
)
}
}
【问题讨论】:
-
我认为您可以让添加按钮打开一个“AddView”并将选定的选项卡绑定传递给该视图。该视图将充当路由器视图并显示适当的添加视图(例如
AddExpensesview)
标签: ios swift swiftui navigation swiftui-navigationview