微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

动态设置SwiftUI NavigationBarItems?

如何解决动态设置SwiftUI NavigationBarItems?

如何动态更改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的测试

void CMFCReadTextToBoxDlg::OnBnClickedbtnread()
{
    ifstream MyReadFile("user.txt");
    string textRead1;
    string textRead2;
    string textRead3;
    string textRead4;

    getline(MyReadFile,textRead1);
    CString cs1(textRead1.c_str());
    SetDlgItemText(txtField1,cs1);

    getline(MyReadFile,textRead2);
    CString cs2(textRead2.c_str());
    SetDlgItemText(txtField2,cs2);

    getline(MyReadFile,textRead3);
    CString cs3(textRead3.c_str());
    SetDlgItemText(txtField3,cs3);

    getline(MyReadFile,textRead4);
    CString cs4(textRead4.c_str());
    SetDlgItemText(txtField4,cs4);
    
    
    MyReadFile.close();
    
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。