web-dev-qa-db-fra.com

ajout d'images à UItableView

Est-il possible d'ajouter des images à une vue de table? À gauche? Et si oui, quelle devrait être sa taille?

20
jason

Une UITableViewCell personnalisée n'est pas nécessaire pour ajouter simplement une image sur le côté gauche de la cellule. Configurez simplement la propriété imageView de la cellule UITableView dans votre méthode tableView: cellForRowAtIndexPath: delegate comme suit:

- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath 
{    
   static NSString* CellIdentifier = @"Cell";

   UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
   if (cell == nil)
      cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

   cell.textLabel.text = @"I'm a UITableViewCell!";
   cell.imageView.image = [UIImage imageNamed:@"MyReallyCoolImage.png"];

   return cell;
}

Sauf si vous fournissez une méthode tableView: heightForRowAtIndexPath: dans votre UITableViewDelegate, la hauteur par défaut d'un UITableViewCell est de 44 points, ce qui correspond à 44 pixels sur un affichage sans rétine et à 88 pixels sur un écran avec rétine.

56
Thomas M

Oui c'est possible. Vous pouvez prendre l’aide de cocoawithlove et ici . Ces tutoriels vous donneront une idée de la manière de donner des images à UITableView. Enfin, comme demandé précédemment sur SO, UITableViewCell Set Selected Image .

3
Sudhanshu

Oui, vous pouvez les ajouter où vous voulez dans la cellule. Enfin, ils doivent être aussi gros (ou petits) que votre application a du sens.

0
jer

Swift 4 Solution de Thomas réponse:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let CellIdentifier = "Cell"
    var cell: UITableViewCell? = tableView.dequeueReusableCell(withIdentifier: CellIdentifier)
    if cell == nil {
        cell = UITableViewCell(style: .default, reuseIdentifier: CellIdentifier)
    }
    cell?.textLabel?.text = "I'm a UITableViewCell!"
    cell?.imageView?.image = UIImage(named: "MyReallyCoolImage.png")
    return cell ?? UITableViewCell()
}
0
user7718859