add crop photo

This commit is contained in:
cheykrym 2025-12-10 02:41:28 +03:00
parent f1ec7e637b
commit 134ba39914

View File

@ -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()