首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否动态设置SwiftUI NavigationBarItems?

是否动态设置SwiftUI NavigationBarItems?
EN

Stack Overflow用户
提问于 2020-10-10 12:14:15
回答 1查看 611关注 0票数 2

如何动态更改SwiftUI导航栏项目?

我在NavigationView中有一个TabView,我希望导航栏项目根据所选的选项卡进行更改。然而,我很难决定如何使用.onAppear()来更改这一点,假设这就是您应该做的事情。

我的代码目前布局如下:

代码语言:javascript
复制
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)
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-10 13:27:00

这是一个可能的解决方案的演示-添加跟踪选项卡选择,并根据选项卡选择制作按钮。使用Xcode12/ iOS 14进行测试

代码语言:javascript
复制
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"){}
                }
            })
        }
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64289908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档