【发布时间】:2021-01-28 08:54:55
【问题描述】:
我正在尝试在我自己的自定义组件中模仿 ScrollView 行为。
我遇到的问题是滚动动画。据我了解,我可以使用 predictedEndTranslation 对象来获取拖动手势的预测位置。但我不知道应该使用哪个缓动函数来模仿默认的ScrollView 缓动。
这是我的代码
struct ViewContent: View {
@State var offsetY: CGFloat = 0
var body: some View {
View {
}
.offset(y: offsetY)
.gesture(
DragGesture()
.onChange { value in
offsetY = value.translation.height
}
.onEnded { value in
let nextScrollPosition = value.predictedEndTranslation.height
withAnimation(???) { // What easing to use?
offsetY = nextScrollPosition
}
}
)
}
}
【问题讨论】:
-
这是否回答了您的问题stackoverflow.com/a/58708206/12299030?