master merged
This commit is contained in:
@@ -22,6 +22,7 @@ struct ScrollOffsetPreferenceKey: PreferenceKey {
|
||||
|
||||
struct ScrollOffsetReader: View {
|
||||
@Binding var offsetY: CGFloat
|
||||
@State private var baseline: CGFloat? = nil
|
||||
|
||||
var body: some View {
|
||||
Color.clear
|
||||
@@ -35,9 +36,10 @@ struct ScrollOffsetReader: View {
|
||||
}
|
||||
)
|
||||
.onPreferenceChange(ScrollOffsetPreferenceKey.self) { minY in
|
||||
let normalizedOffset = max(0, -minY)
|
||||
if abs(offsetY - normalizedOffset) > 0.5 {
|
||||
offsetY = normalizedOffset
|
||||
if baseline == nil { baseline = minY }
|
||||
let offset = max(0, (baseline ?? 0) - minY)
|
||||
if abs(offsetY - offset) > 0.5 {
|
||||
offsetY = offset
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -61,3 +63,6 @@ struct AsyncStoreImage: View {
|
||||
.scaledToFill()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user