From 134ba399149bead91874789ec35de61ee566fc0d Mon Sep 17 00:00:00 2001 From: cheykrym Date: Wed, 10 Dec 2025 02:41:28 +0300 Subject: [PATCH] add crop photo --- yobble/Views/Tab/Settings/EditProfileView.swift | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/yobble/Views/Tab/Settings/EditProfileView.swift b/yobble/Views/Tab/Settings/EditProfileView.swift index 18e98bc..1262011 100644 --- a/yobble/Views/Tab/Settings/EditProfileView.swift +++ b/yobble/Views/Tab/Settings/EditProfileView.swift @@ -99,7 +99,7 @@ struct EditProfileView: View { .navigationTitle("Профиль") .onAppear(perform: loadProfile) .sheet(isPresented: $showImagePicker) { - ImagePicker(image: $avatarImage) + ImagePicker(image: $avatarImage, allowsEditing: true) } .onChange(of: avatarImage) { newValue in guard let image = newValue else { return } @@ -260,11 +260,13 @@ struct EditProfileView: View { struct ImagePicker: UIViewControllerRepresentable { @Binding var image: UIImage? + var allowsEditing: Bool = false @Environment(\.presentationMode) private var presentationMode func makeUIViewController(context: Context) -> UIImagePickerController { let picker = UIImagePickerController() picker.delegate = context.coordinator + picker.allowsEditing = allowsEditing return picker } @@ -282,7 +284,9 @@ struct ImagePicker: UIViewControllerRepresentable { } func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) { - if let uiImage = info[.originalImage] as? UIImage { + if let editedImage = info[.editedImage] as? UIImage { + parent.image = editedImage + } else if let uiImage = info[.originalImage] as? UIImage { parent.image = uiImage } parent.presentationMode.wrappedValue.dismiss()