Ios SwiftUI在特定选项卡索引/标记上加载TabView会导致第一个选项卡也加载
很抱歉这个糟糕的标题 我有一个包含5项的选项卡视图,我希望我的应用程序从第二个选项卡开始。我注意到,如果我从第二个/第三个/第四个/第五个选项卡中的任何一个开始,第一个选项卡的onAppear将始终启动 有没有办法防止这种情况Ios SwiftUI在特定选项卡索引/标记上加载TabView会导致第一个选项卡也加载,ios,swiftui,Ios,Swiftui,很抱歉这个糟糕的标题 我有一个包含5项的选项卡视图,我希望我的应用程序从第二个选项卡开始。我注意到,如果我从第二个/第三个/第四个/第五个选项卡中的任何一个开始,第一个选项卡的onAppear将始终启动 有没有办法防止这种情况 struct MainView: View { @State private var currentTab = 1 // try change this to 2/3/4 and notice the first tab onAppear always fires
struct MainView: View {
@State private var currentTab = 1 // try change this to 2/3/4 and notice the first tab onAppear always fires
var body: some View {
return TabView(selection: self.$currentTab) {
Colors.brown
.tabItem {
Text("0")
}
.tag(0)
.onAppear(perform: {
print(self.currentTab) // why does this always print regardless of initial currentTab = 1/2/3/4?
})
Colors.orange
.tabItem {
Text("1")
}
.tag(1)
.onAppear(perform: {
print(self.currentTab) // this prints
})
Colors.red
.tabItem {
Text("2")
}
.tag(2)
.onAppear(perform: {
print(self.currentTab)
})
Color.yellow
.tabItem {
Text("3")
}
.tag(3)
.onAppear(perform: {
print(self.currentTab)
})
Color.purple
.tabItem {
Text("4")
}
.tag(4)
.onAppear(perform: {
print(self.currentTab)
})
}
}
}
它没有指定调用onAppear的次数和时间(除了它出现,但出现在哪里是一个问题),因此我不建议对此有任何期望。它没有指定调用onAppear的次数和时间(除了它出现,但出现在哪里是一个问题),因此,我不建议对此有任何期望。