add crop photo
This commit is contained in:
parent
f1ec7e637b
commit
134ba39914
@ -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()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user