Chargement d'images de l'URL dans un uiImage, puis ajoutez ces images à un UIImageViewcell uiImageView, comme ci-dessous le code. Je ne connais pas la taille de l'image, mais je dois les forcer à être 40x40 dans l'image TableViewCell. Les images continuent de charger avec différentes largeurs dans l'utableview.
Lire les autres postes liés au dimensionnement / échelle de l'uImage, mais ces solutions ne fonctionnent pas pour moi. Je pense que c'est parce que j'utilise l'UIImageView incluse dans UitailViewCell vs Création de ma propre UIImageView. P>
Voici le code> P>
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [[UITableViewCell alloc] init]; ItemForSale *item = [listOfItems objectAtIndex:indexPath.row]; cell.textLabel.text = item.name; cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; cell.textLabel.font = [UIFont systemFontOfSize:14]; NSURL *url = [NSURL URLWithString: item.imgPath]; UIImage *thumbnail = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]]; if (thumbnail == nil) { thumbnail = [UIImage imageNamed:@"noimage.png"] ; } cell.imageView.image = thumbnail; cell.imageView.contentMode = UIViewContentModeScaleAspectFill; cell.imageView.frame = CGRectMake(0, 0, 40, 40); cell.imageView.autoresizingMask = UIViewAutoresizingNone; cell.imageView.clipsToBounds = YES; return cell; }
3 Réponses :
a trouvé la réponse à la recherche sur Exemple de pépendant "LazyTableImages"
J'ai essayé, mais recevez un message "Vous devez attendre 2 jours pour accepter votre propre réponse".
Quel message de quelle classe devez-vous mettre cela dans? Est-ce dans votre sous-classe d'UitailView ou UitabilieweCell?
Code ci-dessus était dans 'TableView: CellforntIndexpath:' Dans le fil principal, mais plus tard, j'ai commuté mon code pour imiter l'exemple dans "Lazy Table d'images" sur Appres dev site, qui doit appeler un fil d'arrière-plan de "TableView: cellsfornatindexpath:" puis téléchargez l'image, enregistrez-la sur un uiImage et à la fin, renvoyez l'uIimage au fil principal pour mettre dans la cellule.ImageView. Je pense que Icondownloader était le nom de l'objet en cours d'exécution dans l'exemple du projet.
Merci, je vais donner ça un aller. Le problème exact que j'ai est décrit plus précisément ici: Stackoverflow.com/questions/8085750/... Mais malheureusement, cette question n'a pas reçu de réponses.
J'ai essayé ça. Cela a fonctionné mais l'image devient floue! J'ai également essayé la première réponse du post suivant et cela fonctionnait mieux (sans faire de l'image floue): Stackoverflow.com/questions/2788028/...
J'ai eu le même problème et cela a parfaitement fonctionné pour moi; p>
Sélectionnez l'UIImage et accédez à l'inspecteur des attributs et vérifiez "Sous-système de clips" P>
Assurez-vous que vous avez des contraintes définies pour la taille de l'image. P>
J'ai eu ce problème lorsque j'avais été à l'aide de la propriété ImageView de la cellule plutôt que de la propriété pour la personnalisation UIImageView i Créée dans le storyboard. Lorsque j'ai utilisé la référence appropriée à la vue personnalisée, tout a fonctionné comme prévu. Je soupçonne que certains d'entre vous ont peut-être fait semblable. p>
Pourrait vous embrasser. Corrigé pour moi
Je viens d'essayer cela avec un uiimageview personnalisé et ça marche bien. Doit être quelque chose avec l'UIMageView inclus dans Uitabiliewcell