【发布时间】:2020-09-22 23:04:59
【问题描述】:
当我在 tabview 中的一个选项卡被选中时,我想运行一些代码。
假设:我想创建一个应用程序,目的是:A)使用 tabview 和 B)严重混淆用户。为此,我将创建一个应用程序,其中包含“一”、“二”和“三”选项卡,以及“一”、“二”和“三”视图。然后,选择第二个选项卡时,我将改变视图“二”来表示“一个”。恶魔般的。
对此的常识性解决方案如下所示:
import SwiftUI
struct ContentView: View {
@State private var two : String = "Two"
var body: some View {
TabView() {
Text("One")
.tabItem {
Text("One")
}
Text("Two")
.tabItem {
Text(two)
}
.onTapGesture {
print("Tapped!!")
self.two = "One"
}
Text("Three")
.tabItem {
Text("Three")
}
}
}
}
不幸的是,它的工作原理与普通应用完全一样,并且无法混淆用户,因为其中两个没有更新(并且控制台中没有“Tapped!”)。
如何在选择或点击 tabItem 时运行代码?这可能是更新变量、运行动画或其他任何事情。
【问题讨论】:
标签: swift swiftui tabview tabitem