SwiftUI触地手势启动/触地
我正在为MacOS使用SwiftUI中的Tap手势。再次松开按键时,只有在SwiftUI触地手势启动/触地,swift,macos,swiftui,Swift,Macos,Swiftui,我正在为MacOS使用SwiftUI中的Tap手势。再次松开按键时,只有在TouchInsideOut事件中才能识别按键手势。我想在接地时做一个动作,在结束时做另一个动作 有一个onEnded状态可用于点击手势,但没有onStart MyView() .onTapGesture { //Action here only called after tap gesture is released NSLog("Test") } 是否有机会检测触地和触地释放
TouchInsideOut
事件中才能识别按键手势。我想在接地时做一个动作,在结束时做另一个动作
有一个onEnded
状态可用于点击手势,但没有onStart
MyView()
.onTapGesture {
//Action here only called after tap gesture is released
NSLog("Test")
}
是否有机会检测触地和触地释放
我也尝试过使用
长按手势
,但无法理解 如果是纯SwiftUI,那么现在只能间接地
这里有一个方法。使用Xcode 11.4进行测试
注意:下面的最小距离:0.0
很重要
MyView()
.手势(DragGesture(最小距离:0.0,坐标空间:。全局)
.onChanged{uuu in
打印(“>>触地”)//此处可能有其他条件
}
.onEnded{uuin
印刷品("它可以工作!!谢谢。我用LongPress做了同样的尝试,但是OnEnd被错误地调用了。谢谢!!!我也在这个视图中使用onHover,但是看起来两者都不工作。当Dragesture在一个视图上时,有什么函数可以调用吗?onDrag?此时我正在设置一个状态,当开始拖动时,然后允许我的操作悬停。但是悬停没有被调用。我需要检查我在拖动过程中是否在视图上悬停。你知道当视图收到这个DragGesture时我可以调用一个函数吗?@davidev,有几个类似的帖子。例如,非常感谢你。你是一位专家。我在这里用你的答案解决了这个问题:
MyView()
.gesture(DragGesture(minimumDistance: 0.0, coordinateSpace: .global)
.onChanged { _ in
print(">> touch down") // additional conditions might be here
}
.onEnded { _ in
print("<< touch up")
}
)