0
votes

Ne peut pas mettre à jour avatar dans la tableView + uiImagePickerController

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>

Image de ViewController 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)
    }
}


0 commentaires

3 Réponses :


0
votes

Veuillez recharger la vue de table après l'image définie sur la cellule

tableview.reloaddata ()

S'il y a une section multiple, vous rechargez cette section ou une ligne de table de tableView.


2 commentaires

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



1
votes

Déclarer ce code au-dessus de la vueDiDload ()

var img: uiimage? { Darkset { P>

    if let selectedImage = selectedImageFromPicker {
        img = selectedImage

    }
}


1 commentaires

QUE DIEU TE BÉNISSE! QUE DIEU TE BÉNISSE!



0
votes

Je pense que votre problème est cette partie xxx pré>

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


0 commentaires