From 947a504f089d4d13c7c64ab295e341ec783597c4 Mon Sep 17 00:00:00 2001 From: cheykrym Date: Wed, 10 Dec 2025 03:09:53 +0300 Subject: [PATCH] zoom fix --- yobble/Views/Tab/Settings/EditProfileView.swift | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/yobble/Views/Tab/Settings/EditProfileView.swift b/yobble/Views/Tab/Settings/EditProfileView.swift index 1cd01bd..f13cd2d 100644 --- a/yobble/Views/Tab/Settings/EditProfileView.swift +++ b/yobble/Views/Tab/Settings/EditProfileView.swift @@ -528,9 +528,13 @@ struct AvatarViewerView: View { .onChanged { value in if scale > 1.05 { dismissOffset = .zero + let adjustedTranslation = CGSize( + width: value.translation.width / scale, + height: value.translation.height / scale + ) panOffset = CGSize( - width: storedPanOffset.width + value.translation.width, - height: storedPanOffset.height + value.translation.height + width: storedPanOffset.width + adjustedTranslation.width, + height: storedPanOffset.height + adjustedTranslation.height ) } else { if dragMode == nil { @@ -552,9 +556,13 @@ struct AvatarViewerView: View { } .onEnded { value in if scale > 1.05 { + let adjustedTranslation = CGSize( + width: value.translation.width / scale, + height: value.translation.height / scale + ) storedPanOffset = CGSize( - width: storedPanOffset.width + value.translation.width, - height: storedPanOffset.height + value.translation.height + width: storedPanOffset.width + adjustedTranslation.width, + height: storedPanOffset.height + adjustedTranslation.height ) } else { if abs(value.translation.height) > 120 {