我的问题是 TabView 没有更新。
我想登录,然后在同一个TabItem
.
只有在我杀死应用程序并重新打开它之后才会TabView
出现。ProfileScreen
这是TabView
代码:
import SwiftUI
struct ContentView: View {
@State var userToken: String = UserDefaults.standard.string(forKey: "UserToken") ?? ""
var body: some View {
TabView{
HomeScreen(text: .constant("")).tabItem({ Image(systemName: "house") }).tag(0)
Text("Cart").tabItem({ Image(systemName: "cart") }).tag(1)
if userToken.isEmpty {
LoginScreen().tabItem({ Image(systemName: "person") }).tag(2)
}
else {
ProfileScreen().tabItem({ Image(systemName: "person") }).tag(2)
}
}
}
}
我尝试过的事情:
- 将不同的@State 值传递给两个屏幕
- 在 LoginScreen 中呈现配置文件屏幕,但它呈现在 TabView 的顶部