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

如何在swiftui中使用自定义后退按钮导航多个屏幕

如何解决如何在swiftui中使用自定义后退按钮导航多个屏幕

    NavigationView{
            vstack (spacing: -3){
                UserImage()
                Spacer()
                vstack(spacing:50){
                    Version()
                    vstack( spacing:25){
                        vstack(alignment: .leading,spacing:10){
                            TextField("Username",text:$username)
                                .font(Font.custom("Quicksand-SemiBold",size: 16))
                            Line()
                            
                        }
                        .padding([.leading,.trailing])
                        
                        vstack(alignment: .leading,spacing:10){
                            SecureField("Password",text:$password)
                                .font(Font.custom("Quicksand-SemiBold",.trailing])
                        //                        NavigationLink(destination: HomeScreen(),tag: 1,selection: $selection) {
                        
                        Button(action: {print("Button Tapped")}){
                            SigninButtonContent()
                        }
                        //                        }
                        
                        HStack(spacing: 5){
                            Text("If you are new to AT broadband")
                                .font(.subheadline)
                                .fontWeight(.regular)
                                .frame(width: 225)
                            
                            Button(action: /*@START_MENU_TOKEN@*/{}/*@END_MENU_TOKEN@*/,label: {
                                TapHere()
                                
                            })
                        }
                        
                        Spacer()
                    }
                    .padding(.horizontal,50)
                    
                }
                //Suzhiyam Card
                vstack{
                    HStack{
                        
                        CardView()
                        Spacer()
                    }
                    .padding(.bottom)
                    
                }
                
            }
            .navigationBarHidden(true)
        
    }
}

}

struct SigninButtonContent: View {
let login = HomeScreen()

var body: some View {
    HStack{
        NavigationLink(destination: HomeScreen()) {
            Text("SIGN IN")
                .font(.headline)
                .foregroundColor(Color.white)
                .padding()
                .frame(width: 100.0,height: 40.0)
                .background(/*@START_MENU_TOKEN@*//*@PLACEHOLDER=View@*/Color(red: 0.931,green: 0.213,blue: 0.228)/*@END_MENU_TOKEN@*/)
                .cornerRadius(35.0)
                .shadow(radius: 2,x:0,y: 3 )
        }
    }
}

}

这是我的登录屏幕代码,我对屏幕的 NavigationView 有一些疑问。 我有自定义后退按钮要使用,所以我使用

.navigationBarHidden(true)
.navigationBarBackButtonHidden(true)

后退按钮仍然没有用。This is my login screen,After clicking Sign In button it Navigated to Home Screen

struct HomeScreen: View {
var body: some View {
    NavigationView{
        ScrollView{
            ZStack{
                lightGreyColor
                    .edgesIgnoringSafeArea(.all)
                vstack{
                    ZStack{
                        vstack(spacing: -90){
                            Image("OnePlus-6")
                                .resizable()
                                .aspectRatio(CGSize(width: 19,height: 9),contentMode: /*@START_MENU_TOKEN@*/.fill/*@END_MENU_TOKEN@*/)
                                .frame(width: 340,height: 190)
                                .edgesIgnoringSafeArea(.top)
                                .overlay(Rectangletest())
                            vstack{
                                PlanCard()
                            }
                        }
                    }
                    vstack{
                        CustomerContact()
                    }
                    vstack(spacing:15){
                        vstack{
                            HStack{
                                InfoCard()
                            }
                        }
                        vstack{
                            HStack{
                                ScreenCard()
                            }
                        }
                        vstack{
                            HStack{
                                InfoCard2()
                            }
                        }
                    }
                }
            }
        }
                .navigationBarHidden(true)
        .navigationBarBackButtonHidden(true)
        Spacer()
    }
}

}

这是我的主屏幕代码 HomeScreen Image

这就是问题所在,如果我在 HomeScreen 中使用导航,则会出现此认后退箭头,当 NavigationView 不在 HomeScreen 中时,它在实时预览中看起来不错,但我需要在主屏幕中导航按钮,因此我需要使用 NavigationView在主屏幕中。我还能做什么来连接其他屏幕。

我是初学者,我需要帮助来完成这个项目

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