J'ai une tableViewcell avec imageView pour avatar et j'utilise Tap Stegesturerecogner dans mon mode de vueController pour changer d'avatar, mais après avoir choisi la photo mon avatar toujours sans photo. Juste blanc. Peut-être que je devrais recharger quelque chose?
J'ai une cellule avec imageView et j'utilise Tap Stegesturerecogner dans mon mode de vueController pour changer d'avatar, mais après avoir choisi la photo mon avatar toujours sans photo. Juste blanc. Peut-être que je devrais recharger quelque chose? P>
P>
extension BarberSettingsViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate { func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { var selectedImageFromPicker: UIImage? if let editedImage = info[.editedImage] as? UIImage { selectedImageFromPicker = editedImage picker.dismiss(animated: true, completion: nil) } else { let originalImage = info[.originalImage] as! UIImage selectedImageFromPicker = originalImage picker.dismiss(animated: true, completion: nil) } if let selectedImage = selectedImageFromPicker { let cell = tableView.dequeueReusableCell(withIdentifier: UserAvatarCell.name) as! UserAvatarCell cell.avatarImageView.image = selectedImage } } func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { picker.dismiss(animated: true, completion: nil) } }
3 Réponses :
Veuillez recharger la vue de table après l'image définie sur la cellule p>
tableview.reloaddata () p>
S'il y a une section multiple, vous rechargez cette section ou une ligne de table de tableView. P>
Après cette ligne, vous rechargez laissez Cell = tableview.dequeuereAblecell (withidIdidInder: useravaTarcell.name) comme! UseravArcell cellt.avatarimageview.Image = sélectionnéImage
Je faisais exactement la même chose. Si SELECT SELECTIONNAGE = SELECTIONIMAGEFROMPICKER {Laissez Cell = TableView.DequeueeueAblecell (Nomentifier: useravaTarcell.name) comme! UseravaTarcell cellt.avatarImageView.Image = SEXEXIMAGE DISPATCHQUEUE.MAIN.ASYNC {Self.tableview.reloaddata ()}}
Déclarer ce code au-dessus de la vueDiDload ()
var img: uiimage? { Darkset { P>
if let selectedImage = selectedImageFromPicker { img = selectedImage } }
QUE DIEU TE BÉNISSE! QUE DIEU TE BÉNISSE!
Je pense que votre problème est cette partie Vous devez obtenir une cellule à partir de la vue de table présentée avec l'index de cellule, votre code crée une nouvelle cellule mais vous devez ajouter Avatar à la cellule présentée p > let cell = tableView.cellForRowAtIndexPath(indexPath) as! UserAvatarCell
cell.avatarImageView.image = selectedImage