如何解决SwiftUI TabView:如何检测选项卡上的单击?
每次点击选项卡时,我想运行一个函数。
在下面的代码上,当我点击一个新选项卡时(使用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)
}
}
}
我怎么能同时得到这两种东西:
- 正常显示的标签视图
- 我的函数被调用
解决方法
从iOS 14开始,状态变量更改时,您可以使用{subparser1}
执行代码。您可以用以下方式替换点击手势:
--arg0
如果您不希望受限于iOS 14,可以在此处找到其他选项:How can I run an action when a state changes?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。