每次点击选项卡时,我想运行一个函数。
在下面的代码上,当我点击一个新选项卡时(使用onTapGesture
),将调用myFunction
,但选项卡视图未更改。
struct DetailView: View {
var model: MyModel
@State var selectedTab = 1
var body: some View {
TabView(selection: $selectedTab) {
Text("Graphs").tabItem{Text("Graphs")}
.tag(1)
Text("Days").tabItem{Text("Days")}
.tag(2)
Text("Summary").tabItem{Text("Summary")}
.tag(3)
}
.onTapGesture {
model.myFunction(item: selectedTab)
}
}
}
我怎么能同时得到这两种东西:
答案 0 :(得分:1)
从iOS 14开始,状态变量更改时,您可以使用{subparser1}
执行代码。您可以用以下方式替换点击手势:
--arg0
如果您不希望受限于iOS 14,可以在此处找到其他选项:How can I run an action when a state changes?