【发布时间】:2020-09-27 14:15:22
【问题描述】:
SwiftUI 缺少平移手势(即缩放和偏移),所以我试图创建一个。但是,Gesture 结构似乎依赖于私有类。例如:
public struct PinchGesture: Gesture {
public struct PinchGestureValue: Equatable {
var scale: CGFloat
var anchor: UnitPoint
var offset: CGSize
var isPinching: Bool
}
public typealias Value = PinchGestureValue
public typealias Body = Never
var minimumScaleDelta: CGFloat
var minimumDistance: CGFloat
var coordinateSpace: CoordinateSpace
public init(minimumScaleDelta: CGFloat = 0.01, minimumDistance: CGFloat = 10, coordinateSpace: CoordinateSpace = .local) {
self.minimumScaleDelta = minimumScaleDelta
self.minimumDistance = minimumDistance
self.coordinateSpace = coordinateSpace
}
public static func _makeGesture(gesture: _GraphValue<PinchGesture>, inputs: _GestureInputs) -> _GestureOutputs<PinchGestureValue> {
// Unable to complete
}
}
此代码无法完成,因为 _GraphValue、_GestureInputs 和 _GestureOutputs 是私有的。在我完全放弃之前,我想看看是否有人找到了解决方法。
【问题讨论】:
-
你有没有运气解决这个问题?我也想创建一个新的手势。
-
不-抱歉。目前看来没有办法做到这一点。为了这个特殊的需要,我最终创建了一个全新的 ScrollView...☹️