add crop photo
This commit is contained in:
parent
f1ec7e637b
commit
134ba39914
@ -99,7 +99,7 @@ struct EditProfileView: View {
|
|||||||
.navigationTitle("Профиль")
|
.navigationTitle("Профиль")
|
||||||
.onAppear(perform: loadProfile)
|
.onAppear(perform: loadProfile)
|
||||||
.sheet(isPresented: $showImagePicker) {
|
.sheet(isPresented: $showImagePicker) {
|
||||||
ImagePicker(image: $avatarImage)
|
ImagePicker(image: $avatarImage, allowsEditing: true)
|
||||||
}
|
}
|
||||||
.onChange(of: avatarImage) { newValue in
|
.onChange(of: avatarImage) { newValue in
|
||||||
guard let image = newValue else { return }
|
guard let image = newValue else { return }
|
||||||
@ -260,11 +260,13 @@ struct EditProfileView: View {
|
|||||||
|
|
||||||
struct ImagePicker: UIViewControllerRepresentable {
|
struct ImagePicker: UIViewControllerRepresentable {
|
||||||
@Binding var image: UIImage?
|
@Binding var image: UIImage?
|
||||||
|
var allowsEditing: Bool = false
|
||||||
@Environment(\.presentationMode) private var presentationMode
|
@Environment(\.presentationMode) private var presentationMode
|
||||||
|
|
||||||
func makeUIViewController(context: Context) -> UIImagePickerController {
|
func makeUIViewController(context: Context) -> UIImagePickerController {
|
||||||
let picker = UIImagePickerController()
|
let picker = UIImagePickerController()
|
||||||
picker.delegate = context.coordinator
|
picker.delegate = context.coordinator
|
||||||
|
picker.allowsEditing = allowsEditing
|
||||||
return picker
|
return picker
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -282,7 +284,9 @@ struct ImagePicker: UIViewControllerRepresentable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) {
|
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.image = uiImage
|
||||||
}
|
}
|
||||||
parent.presentationMode.wrappedValue.dismiss()
|
parent.presentationMode.wrappedValue.dismiss()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user