如何解决双击选项卡项目上的SwiftUI重新加载视图
我正在尝试为正在使用的应用程序实现功能,以便当用户点击选项卡两次时,它将自动将用户带回到该选项卡的初始视图。
假设我希望以下“设备”选项卡按钮可以双击重新加载视图:
Tab View {
DevicesScreen()
.tabItem {
Image(systemName: "tv")
Text("Devices")
}.onTapGesture(count: 2) {
DevicesScreen()
}
}.font(.headline)
但是,onTapGesture的结果不会切换视图,因此我想问一下是否还有其他解决方案。
谢谢。
解决方法
尝试一下:
struct ContentView: View {
@State var selectedTab: Tab = .home
var body: some View {
TabView(selection: $selectedTab) {
Text("Home Screen")
.tabItem { Text("Home") }
.tag(Tab.home)
Text("More Screen")
.tabItem { Text("More") }
.tag(Tab.more)
Text("bla Screen")
.tabItem { Text("bla") }
.tag(Tab.bla)
}.onTapGesture(count: 2) {
if self.selectedTab == .more {
self.selectedTab = .home
}
}
}
}
extension ContentView {
enum Tab: Hashable {
case home
case more
case bla
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。