Comment faire pour UIImage
dans la cellule de UITableView
, UITableViewCell (?).Comment redimensionner l'image pour l'adapter à la cellule UITableView?
-vous addSubview
-cell
ou est-il un moyen de redimensionner cell.image
ou UIImage
avant qu'il ne soit affecté à cell.image
? Je veux garder la taille de la cellule par défaut (quoi que ce soit lorsque vous init avec zéro rectangle) et que vous souhaitez ajouter des icônes comme des images à chaque entrée. Les images sont légèrement plus grandes que la taille de la cellule (taille de la ligne du tableau).
Je pense que le code ressemble à ceci (du haut de ma tête):
UIImage * image = [[UIImage alloc] imageWithName:@"bart.jpg"];
cell = ... dequeue cell in UITableView data source (UITableViewController ...)
cell.text = @"bart";
cell.image = image;
Que dois-je faire pour redimensionner l'image à la taille de la cellule? Je l'ai vu quelque chose comme:
UIImageView * iview = [[UIImageView alloc] initWithImage:image];
iview.frame = CGRectMake(...); // or something similar
[cell.contentView addSubview:iview]
Le ajoutera image ci-dessus à la cellule et je peux calculer la taille de l'adapter, cependant:
- Je ne sais pas s'il y a une meilleure façon, n'est-ce pas trop frais à ajouter
UIImageView
juste pour redimensionner lecell.image
? - Maintenant, mon étiquette (
cell.text
) doit être déplacé comme il est obscurci par l'image, j'ai vu une solution où vous venez ajouter le texte comme une étiquette:
Exemple:
UILabel * text = [[UILable alloc] init];
text.text = @"bart";
[cell.contentView addSubview:iview];
[cell.contentView addSubview:label];
// not sure if this will position the text next to the label
// edited original example had [cell addSubview:label], maybe that's the problem
Est-ce que quelqu'un pourrait me diriger dans la bonne direction?
EDIT: Doh [cell.contentview addSubview:view]
pas [cell addSubview:view]
Je suis peut-être censé regarder ceci:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = ...;
CGRect frame = cell.contentView.bounds;
UILabel *myLabel = [[UILabel alloc] initWithFrame:frame];
myLabel.text = ...;
[cell.contentView addSubview:myLabel];
[myLabel release];
}
Aucune autre suggestion? – stefanB