SwiftUI-选项卡视图项
单击选项卡视图项时是否可以重新创建该项。SwiftUI-选项卡视图项,swiftui,tabview,Swiftui,Tabview,单击选项卡视图项时是否可以重新创建该项。 例如,如果我在tabitem1上,然后单击tabitem2,然后返回到tabitem1,我希望重新创建tabitem1。我可以在SwiftUI中执行此操作吗?下面是一个示例,说明如何在更改活动选项卡项时重新加载所有视图。在TabView中使用选择参数,然后在ContentView中使用该选择使其在选择更改时重新加载 struct ContentView: View { @State var selection = 0 var body:
例如,如果我在tabitem1上,然后单击tabitem2,然后返回到tabitem1,我希望重新创建tabitem1。我可以在SwiftUI中执行此操作吗?下面是一个示例,说明如何在更改活动选项卡项时重新加载所有视图。在TabView中使用选择参数,然后在ContentView中使用该选择使其在选择更改时重新加载
struct ContentView: View {
@State var selection = 0
var body: some View {
TabView(selection: $selection) {
DefaultView(string: "First")
.tag(0)
.tabItem {
Image(systemName: "list.dash")
Text("Menu")
}
.id(UUID())
DefaultView(string: "Second")
.tag(1)
.tabItem {
Image(systemName: "square.and.pencil")
Text("Order")
}
}
.id(selection == 0 ? UUID() : UUID()) //<< here is selection used to make the view reload
}
}
struct ContentView:View{
@状态变量选择=0
var body:一些观点{
选项卡视图(选择:$selection){
DefaultView(字符串:“第一个”)
.tag(0)
.tabItem{
图像(系统名称:“list.dash”)
文本(“菜单”)
}
.id(UUID())
DefaultView(字符串:“秒”)
.标签(1)
.tabItem{
图像(系统名称:“正方形和铅笔”)
文本(“命令”)
}
}
.id(selection==0?UUID():UUID())/下面是一个示例,说明如何在更改活动选项卡项时重新加载所有视图。您可以在选项卡视图中使用selection参数,然后在ContentView中使用该选项,以便在选择更改时重新加载
struct ContentView: View {
@State var selection = 0
var body: some View {
TabView(selection: $selection) {
DefaultView(string: "First")
.tag(0)
.tabItem {
Image(systemName: "list.dash")
Text("Menu")
}
.id(UUID())
DefaultView(string: "Second")
.tag(1)
.tabItem {
Image(systemName: "square.and.pencil")
Text("Order")
}
}
.id(selection == 0 ? UUID() : UUID()) //<< here is selection used to make the view reload
}
}
struct ContentView:View{
@状态变量选择=0
var body:一些观点{
选项卡视图(选择:$selection){
DefaultView(字符串:“第一个”)
.tag(0)
.tabItem{
图像(系统名称:“list.dash”)
文本(“菜单”)
}
.id(UUID())
DefaultView(字符串:“秒”)
.标签(1)
.tabItem{
图像(系统名称:“正方形和铅笔”)
文本(“命令”)
}
}
.id(selection==0?UUID():UUID())//你能提供更多关于你用一些要演示的代码试图实现什么的细节吗?你能提供更多关于你用一些要演示的代码试图实现什么的细节吗?回答得很好,大卫,这救了我的命!我不清楚的是.id(selection==0?UUID():UUID()的目的说.id(UUID())不是更干净吗?回答得好,大卫,这救了我的命!我不清楚的是.id(selection==0?UUID():UUID())的用途。说.id(UUID())不是更干净吗?