SwiftUI перезагружает представление при двойном нажатии на элемент вкладки
Я пытаюсь реализовать функцию в приложении, над которым я работаю, чтобы, когда пользователь дважды нажимает вкладку, он автоматически отправляет пользователя обратно в исходное представление вкладки.
Предположим, я хочу, чтобы следующая кнопка вкладки "Устройства" перезагружала представление двойным нажатием:
Вот код, который я пытался использовать для решения этой проблемы:
Tab View {
DevicesScreen()
.tabItem {
Image(systemName: "tv")
Text("Devices")
}.onTapGesture(count: 2) {
DevicesScreen()
}
}.font(.headline)
Однако результат onTapGesture не переключает представление, поэтому я хотел спросить, есть ли другое решение проблемы.
Заранее спасибо.
1 ответ
Попробуй это:
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
}
}