使用 SwiftUI 同时放大手势和拖动手势

Posted

技术标签:

【中文标题】使用 SwiftUI 同时放大手势和拖动手势【英文标题】:Simultaneous MagnificationGesture and DragGesture with SwiftUI 【发布时间】:2021-07-10 20:56:21 【问题描述】:

Apple Maps 应用程序允许同时用两指拖动和放大。我已尝试使用 SwiftUI gestures 实现此功能。同时旋转和放大按预期工作,但同时拖动和放大不能。也许有一种方法可以符合 Gesture protocol 的自定义行为?

【问题讨论】:

【参考方案1】:

我无法同时实现拖动和放大。根据我的经验,DragGesture 只能在一次触摸时工作,并在屏幕上有两次触摸时结束。我似乎在 SwiftUI 中只有需要相同数量的触摸的手势才能同时进行。也无法直接访问触摸事件来实现自定义手势识别器。希望将来会有所改变。

【讨论】:

以上是关于使用 SwiftUI 同时放大手势和拖动手势的主要内容,如果未能解决你的问题,请参考以下文章

带有点击和拖动手势的 SwiftUI ScrollView

SwiftUI 放大手势()延迟

跨多个子视图的 SwiftUI 拖动手势

如何在 SwiftUI 中点击手势时放大缩小按钮动画?

js实现移动端图片预览:手势缩放, 手势拖动,双击放大...

添加手势后SwiftUI TextField不起作用