ios - TabView 滑动手势在使用 LongPressGesture 的视图上不起作用
问题描述
我正在尝试将 a 添加LongPressGesture
到充当显示工作表的按钮的视图中。当它是一个Button
它工作正常并且在视图之间滑动工作。但是当我删除按钮并将 a 添加LongPressGesture
到视图时,只有长按有效,您不能再在视图上左右TabView
滑动,只能在视图上方或下方滑动(示例如下)。
我假设这里有一些手势优先级,谁能告诉我让TabView
滑动手势优先于LongPressGesture
?
import SwiftUI
struct ContentView: View {
@State private var toggleSheet: Bool = false
@GestureState private var isDetectingLongPress: Bool = false
var body: some View {
TabView {
Text("1")
.font(Font.system(size: 300))
.gesture(
LongPressGesture().updating(self.$isDetectingLongPress) {
currentState, gestu[![enter image description here][1]][1]reState, transaction in
gestureState = currentState
}
.onEnded {
_ in
self.toggleSheet.toggle()
}
)
.sheet(isPresented: self.$toggleSheet) {
Rectangle()
}
Text("2")
.font(Font.system(size: 300))
.gesture(
LongPressGesture().updating(self.$isDetectingLongPress) {
currentState, gestureState, transaction in
gestureState = currentState
}
.onEnded {
_ in
self.toggleSheet.toggle()
}
)
.sheet(isPresented: self.$toggleSheet) {
Circle()
}
}
.tabViewStyle(PageTabViewStyle())
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
在 giphy 中很难看到,但是当我滑动鼠标时,我的鼠标在视图的上方或下方。
解决方案
推荐阅读
- python-3.x - PyCharm IDE 不会突出显示未声明的变量
- git - Git 没有将存储库推送到 github
- ios - iOS curl -X POST 快速集成
- php - 显示 json 数据以查看为字符串或数组
- php - 如何使用 ACF / Wordpress 动态更改我的 PHP 函数名称
- java - 数组中的java元素异或
- asp.net - 在 asp.net MVC 中使用多过滤器数据表
- r - R - 将测试(在 ifelse 中)分配在两个数字之间以生成虚拟变量
- c# - 如何从任何网络中的 sqltabledependency 获取通知?如何使其网络独立?
- ruby-on-rails - Rails 外键迁移中的两列