Ajout d'une Image dans une cellule

J'ai lu des tas de questions, mais n'arrive pas à trouver la réponse

J'ai un TableView mais je ne peux pas ajouter une image à ma cellule

cell.imageView.image = UIImage(named: "osx_design_view_messages")

Ce code devrait fonctionner parce que je l'ai essentiellement copié à partir d'une réponse à une question mais pour une raison quelconque, cela ne fonctionne pas. Toutes les suggestions?

Im en utilisant swift au fait

 override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!
{
    let cellIdentifier = "cell"

    var cell : UITableViewCell

    cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as UITableViewCell
    cell.textLabel.text = self.recipies[indexPath.row]
    var image : UIImage = UIImage(named: "osx_design_view_messages")
    return cell
}
21
demandé sur Mick MacCallum 2014-06-07 10:58:31

2 réponses

Voici quelques causes possibles de votre problème:

  1. Le prototype de cellule doit inclure un UIImageView. Si vous utilisez un storyboard, sélectionnez le prototype de cellule et assurez-vous que son style est défini sur "Basic" dans l'Inspecteur des attributs (panneau de droite).

  2. L'identifiant de cellule ne correspond pas à l'identifiant saisi pour votre cellule prototype dans votre storyboard. Assurez - vous que "cell" est entré pour "Identifier" également dans l'Inspecteur des attributs.

  3. Le l'image ne se charge pas correctement à partir du fichier. Pour tester cela, ajoutez la ligne suivante après l'initialisation de votre image:

    println("The loaded image: \(image)")

Après avoir vérifié que tout est défini dans votre storyboard, essayez de l'exécuter en utilisant ce code:

override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!
    {
        let cellIdentifier = "cell"

        var cell : UITableViewCell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier) as UITableViewCell

        cell.textLabel.text = self.recipes[indexPath.row]

        var image : UIImage = UIImage(named: "osx_design_view_messages")
        println("The loaded image: \(image)")
        cell.imageView.image = image

        return cell
    }
36
répondu Dash 2014-06-07 07:27:16

Swift 3

/ / nous utilisons ceci si vos images sont sur le serveur.

/ / nous obtenons des images à partir d'une url.

// vous pouvez définir l'image à partir de votre Xcode.

/ / Il fait en utilisant attribuer une balise à imageView

  1. L'URL des images sont dans un tableau name = thumbnail c'est-à-dire self.vignette [indexPath.ligne]
  2. sur UITableviewCell mettre un imageView sur la cellule
  3. Sélectionnez UIimageView attribuez-lui une balise à partir du storyboard.

    let pictureURL = URL(string: self.thumbnail[indexPath.row])!
    let pictureData = NSData(contentsOf: pictureURL as URL)
    let catPicture = UIImage(data: pictureData as! Data)
    var imageV = UIImageView()
    imageV = cell?.viewWithTag(1) as! UIImageView
    imageV.image = catPicture
    
2
répondu Ameer Chand 2017-03-27 12:10:46