Apple Maps应用程序允许同时使用两个手指拖动和放大。我尝试使用SwiftUI手势实现此功能gestures。同时旋转和放大的工作正常,但同时拖动和放大却不行。也许有一种方法可以符合Gesture protocol以实现自定义行为?
我无法实现同时拖动和放大。根据我的经验,DragGesture仅适用于一个触摸,并且一旦屏幕上有两个触摸,它就会结束。在SwiftUI中,似乎只有需要相同数量的触摸才能同时进行手势操作。还没有直接访问触摸事件以实现自定义手势识别器的方法。希望这在未来会改变。
我有同样的问题。看看这个解决方案--> https://betterprogramming.pub/gestures-in-swiftui-e94b784ecc7
他使用了:"同时"
.gesture(MagnificationGesture()
.onChanged { value in
self.magnificationValue = value
}
.simultaneously(with: RotationGesture().onChanged { value in
self.rotationValue = value
}))
.roationEffect
(如果使用roationgesture)或.scaleEffect
(对于manginifcationGesture)修饰符放置在.gesture
修饰符之前!否则会出现无限循环。 - charelf