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 {