是否有一个很好的解决方案可以在导航视图内使用TabView?
首先,我知道,对于一个良好的工作环境,NavigationView应该在TabView内部,但是我必须在进入Tabbarview之前先声明NavigationView几个步骤,因为首先您必须完成注册,这需要NavigationView 。
问题是在注册后,TabView中的NavigationBar不起作用。 (要么总是显示相同的导航栏,要么根本没有显示)
所以我将向您展示我的代码现在的外观:
这是 myApp
查看我声明NavigationView的位置:
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
NavigationView{
StartView()
}
}
}
}
然后我们从 startView
:
struct StartView: View {
VStack{
//View to Login
NavigationLink(destination: LoginView(), label: {
Text("Login View")
})
//View to Registration
NavigationLink(destination: RegistrationView(), label: {
Text("Registration View")
})
}
}
然后,我启动注册程序,您可以通过不同的视图
在此过程中自定义应用程序,以自定义应用程序,我在 mainView
(带有带有的视图)上navigationLink tabar)在用户完成其注册 /登录< / strong>时显示。
navigationLink(目标:mainView(),label:{text(“ to Main View”)})
,然后这是 mainView
,其中Navigation Bars不起作用正如他们应该应该的:
struct MainView: View {
//Tab bar color
init() {
UITabBar.appearance().backgroundColor = UIColor.white
}
var body: some View {
TabView(){
//First
FirstView()
.tabItem{
Image(systemName: "person")
}
//Second
SecondView()
.tabItem{
Image(systemName: "person")
}
//Third
ThirdView()
.tabItem{
Image(systemName: "person")
}
}
}
}
我现在浏览了很多东西,没有看到任何东西,这对我有帮助,而无需重塑整个代码。我希望有人可以帮助我。谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
多亏了 @paulw11的评论,我遇到了以下YouTube视频,并将其包含的代码集成到了我的项目中:更改root视图swiftui
在我对注册过程的最后视图中,我创建了一个按钮,该按钮将我导航到我的主视点(带有navigationlinks的tabview):
然后我更改了我的主视图:
Thanks to @Paulw11's comment, I came across the following Youtube video and integrated the code it contains into my project: Change root view SwiftUI
In my last View of the Registration Process I created a Button which navigated me to my MainView (TabView with NavigationLinks):
And then I changed my MainView to this: