如何解决同时手势不适用于 SwiftUI 中的 ZoomableScrollView
使用 Swift5.3.2、iOS14.4.1、Xcode12.4,
我正在尝试在 SwiftUI 中使用 OnKeyUp
修饰符。
据我所知,这个修饰符应该确保手势(例如点击、长按、放大等)应该能够在一个视图中共存。
在我的示例中,我使用的是 ZoomableScrollView。只要我不使用 .simultaneousGesture
,它就可以正常工作。
但是一旦我使用了额外的同步手势,ZoomableScrollView 就不再是“可缩放的”(即它的任何手势都不再起作用)。
我该怎么做才能使缩放仍然有效并获得额外的 dragGesture ?
simultaneousGesture
import SwiftUI
struct MediaTabView: View {
@GestureState private var dragOffset: CGFloat = -100
var body: some View {
ZoomableScrollView {
Image(uiImage: UIImage(contentsOfFile: url.path)!)
.resizable()
.scaledToFit()
}
}
.frame(maxWidth: .infinity,maxHeight: .infinity)
.background(Color.black)
.simultaneousGesture(
DragGesture()
.updating($dragOffset) { (value,gestureState,transaction) in
let delta = value.location.x - value.startLocation.x
if delta > 10 { // << some appropriate horizontal threshold here
gestureState = delta
print(delta)
}
}
.onEnded {
if $0.translation.width > 100 {
// Go to the prevIoUs slide
print("on ended")
}
}
)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。