【发布时间】:2021-03-25 11:55:14
【问题描述】:
我尝试使用简单的导航视图,并带有指向不同视图的导航链接。运行应用程序并按下导航链接时,它会将我带到新视图。
但是,当我在模拟器或设备上时,后退按钮不起作用,而在预览中它可以正常工作。
任何想法可能是什么问题?
import SwiftUI
struct HomeView: View {
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: Text("Detail View")) {
Text("Hello World")
}
}
.navigationBarTitle("SwiftUI")
}
}
}
struct HomeView_Previews: PreviewProvider {
static var previews: some View {
HomeView()
}
}
我认为问题可能是由于 HomeView 是 tabView 的一部分。以下代码来自 AppView.swift,它是应用程序运行时运行的代码(您可以在最底部看到该代码)。
我认为这是问题所在,因为当下面的代码被注释掉时,应用程序可以正常工作。
HomeView()
.tabItem {
Image(systemName: "house.fill")
Text("Home")
}
.onTapGesture {
self.selectedTab = 2
}
.tag(2)
@main
struct Skate_AppApp: App {
var body: some Scene {
WindowGroup {
HomeView()
}
}
}
【问题讨论】:
-
我试过你的代码,一切对我来说似乎都很完美!尝试清理您的项目并重建。
-
我清理了构建文件夹并重新构建,但不幸的是问题仍然存在。
-
您是否尝试创建一个新项目?您使用的是哪个 ios 版本?
-
我使用的是 IOS 14.2。当我创建一个新项目时,它可以工作。你知道为什么会这样吗?我不想每次发生这种情况时都继续创建新项目,尤其是随着项目的发展。
-
如果您可以将您的项目上传到 github 并发布链接,我将尝试弄清楚它发生了什么。是的,我明白了你的意思,最后几天我在做一个项目,我看到 swiftui 正在运行,代码是正确的,但是我不断收到错误,当我撤消更改时,我看到它可以工作,而且它是相同的代码 loool ,不用担心,只需创建新项目并使用它,您就不会再遇到问题了。
标签: ios swift xcode swiftui navigationview