Ios SwiftUI将视图从第一个屏幕更改为tabview屏幕
我想在用户点击“开始”后更改视图,但由于在我的第一个视图中有导航视图,它在我的下一个屏幕上显示后退按钮,这是我不想要的。请看下面的图片 第一个视图的代码如下所示: 导入快捷键 结构ContentView:View{Ios SwiftUI将视图从第一个屏幕更改为tabview屏幕,ios,swift,swiftui,swiftui-navigationlink,swiftui-navigationview,Ios,Swift,Swiftui,Swiftui Navigationlink,Swiftui Navigationview,我想在用户点击“开始”后更改视图,但由于在我的第一个视图中有导航视图,它在我的下一个屏幕上显示后退按钮,这是我不想要的。请看下面的图片 第一个视图的代码如下所示: 导入快捷键 结构ContentView:View{ var body: some View { NavigationView { VStack { Spacer() Text("LifePath") .font(
var body: some View {
NavigationView {
VStack {
Spacer()
Text("LifePath")
.font(.system(size: 48, weight: .semibold))
.padding(.bottom)
Spacer()
NavigationLink(destination: ViewChanger()) {
Text("Get Started")
.font(.headline)
.navigationBarBackButtonHidden(true)
}
}
.padding()
}
}
}
更改
navigationBackButtonHidden
修改器的位置,以便它实际修改您要查看的视图(而不是NavigationLink
标签):
struct ContentView:View{
var body:一些观点{
导航视图{
VStack{
垫片()
文本(“生命路径”)
.font(.system(大小:48,重量:半黑体))
.padding(.bottom)
垫片()
导航链接(目标:ViewChanger()
.navigationBarBackButtonHidden(true)/如果使用NavigationLink(在NavigationView中),将推送视图。如果要替换视图,可以使用If
语句来执行此操作
例如,可以这样实现:
struct ContentView: View {
@State var showSecondView: Bool = false
var body: some View {
if !showSecondView {
NavigationView {
VStack {
Spacer()
Text("LifePath")
.font(.system(size: 48, weight: .semibold))
.padding(.bottom)
Spacer()
Button(action: { showSecondView = true }) {
Text("Get Started")
.font(.headline)
}
}
.padding()
} else {
TabView {
// ...
}
}
}
}
struct ContentView: View {
@State var showSecondView: Bool = false
var body: some View {
if !showSecondView {
NavigationView {
VStack {
Spacer()
Text("LifePath")
.font(.system(size: 48, weight: .semibold))
.padding(.bottom)
Spacer()
Button(action: { showSecondView = true }) {
Text("Get Started")
.font(.headline)
}
}
.padding()
} else {
TabView {
// ...
}
}
}
}