我想在屏幕上添加一个MagnificationGesture,但它不能触发。我试着通过.gesture,simultaneousGesture等添加手势,但没有区别。在我看来,滚动视图的手势具有优先级,但我找不到如何同时识别这两个手势。
...
@State private var magnification: CGFloat = 1.0
var body: some View {
let magnificationGesture = MagnificationGesture(minimumScaleDelta: 0)
.onChanged({ value in
self.magnification = value
})
.onEnded({ value in
self.magnification = value
})
return Group {
VStack {
TitleView(title: NSLocalizedString("timeline.title", comment: ""))
ScaleView(viewModel: viewModel)
ScrollView(.horizontal) {
...
}
Text("\(String(describing: magnification))")
}
}
.gesture(magnificationGesture)
}编辑:我创建了一个具有相同错误行为的独立变体:
//
// TimelineMock.swift
// Testprojekt
//
// Created by Gerhard Schneider on 31.07.19.
// Copyright © 2019 innoreq GmbH. All rights reserved.
//
import SwiftUI
struct TimelineView: View {
@State private var magnification: CGFloat = 1.0
var body: some View {
let magnificationGesture = MagnificationGesture(minimumScaleDelta: 0)
.onChanged({ value in
self.magnification = value
})
.onEnded({ value in
self.magnification = value
})
return Group {
VStack {
Text("Title")
.foregroundColor(.red)
ScrollView(.horizontal) {
ZStack {
ForEach(0 ..< 10) { index in
HStack {
Text("Cell")
.foregroundColor(.green)
}
}
}
}
Text("\(self.magnification.description)")
}.gesture(magnificationGesture)
}
}
}
#if DEBUG
struct TimelineView_Previews: PreviewProvider {
static var previews: some View {
TimelineView()
}
}
#endif
´´´发布于 2019-08-01 22:13:01
我更新到了Xcode11beta5和macOS 10.15beta5,现在似乎可以工作了。
https://stackoverflow.com/questions/57294930
复制相似问题