From b9fd106814c6f3283379825ecb7e04a3771f721d Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 24 Feb 2025 08:19:25 -0800 Subject: feat: Development commit --- Sora/Views/InteractiveImageView.swift | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Sora/Views/InteractiveImageView.swift b/Sora/Views/InteractiveImageView.swift index a36d34f..41d26d3 100644 --- a/Sora/Views/InteractiveImageView.swift +++ b/Sora/Views/InteractiveImageView.swift @@ -5,7 +5,7 @@ struct InteractiveImageView: View { @State private var screenWidth = 0.0 @State private var screenHeight = 0.0 @State private var currentScale = 1.0 - @State private var previousScale = 0.0 + @State private var previousScale = 1.0 @State private var currentOffset: CGSize = .zero @State private var previousOffset: CGSize = .zero @State private var zoomAnchor: UnitPoint = .center @@ -24,12 +24,11 @@ struct InteractiveImageView: View { MagnifyGesture() .onChanged { gesture in withAnimation(.interactiveSpring()) { - if previousScale == 0 { + if previousScale == 1 { zoomAnchor = gesture.startAnchor } - currentScale = - previousScale + gesture.magnification - (previousScale == 0 ? 0 : 1) + currentScale = max(previousScale * gesture.magnification, 1) } } .onEnded { _ in @@ -58,7 +57,7 @@ struct InteractiveImageView: View { .onEnded { withAnimation { currentScale = 1 - previousScale = 0 + previousScale = 1 currentOffset = .zero previousOffset = .zero zoomAnchor = .center -- cgit v1.2.3