gpt4 book ai didi

swiftui - 动态设置 SwiftUI NavigationBarItems?

转载 作者:行者123 更新时间:2023-12-04 08:46:28 25 4
gpt4 key购买 nike

如何动态更改 SwiftUI 导航栏项目?
我在 NavigationView 中有一个 TabView,我希望导航栏项目根据所选的选项卡进行更改。但是,我很难确定如何使用 .onAppear() 来改变这一点,假设这甚至是您想要做的。
我的代码目前布局如下:

var body: some View {
NavigationView {
TabView {
contentWithNavigationButtons()
.tabItem {
Image(systemName: "house")
Text("Buttons")
}

contentWithoutNavigationButtons()
.tabItem {
Image(systemName: "person")
Text("No Buttons")
}
.onAppear {
//Navigation Bar Items should be removed
}

}
.navigationBarItems(trailing: someButton)
}

最佳答案

这是可能的解决方案的演示 - 为选项卡添加跟踪选择并根据选项卡选择制作按钮。使用 Xcode 12/iOS 14 测试

struct DemoView: View {
@State private var selection = 0 // << here !!
var body: some View {
NavigationView {
TabView(selection: $selection) {
contentWithNavigationButtons()
.tabItem {
Image(systemName: "house")
Text("Buttons")
}.tag(0) // << here !!

contentWithoutNavigationButtons()
.tabItem {
Image(systemName: "person")
Text("No Buttons")
}.tag(1)

}
.navigationBarItems(trailing: Group {
if selection == 0 { // << here !!
Button("Some"){}
}
})
}
}
}

关于swiftui - 动态设置 SwiftUI NavigationBarItems?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64289908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com