J'essaie de placer des images de différentes tailles dans imageView de UITableViewCell. J'obtiens les données d'image asynch'ly, crée l'image, place le mode de contenu de imageView et fixe finalement des limites de imageView. Mais le code semble insensible à tous les changements que j'ai faits. Je veux que les images soient centrées dans une zone de 75x75. J'ai écrit le code ci-dessous à cet effetModification des limites d'imageView de UITableViewCell
UIImage* image = [UIImage imageWithData:data];
[holder.imageView setContentMode:UIViewContentModeCenter || UIViewContentModeRedraw];
[holder.imageView setImage:image];
[holder.imageView setBounds:CGRectMake(0,0,75,75)];
[holder.imageView setFrame:CGRectMake(0,0,75,75)];
[holder setNeedsLayout];
Où holder est UITableViewCell. Le résultat que je reçois est toujours le même. Toutes les images ont une hauteur de 75 pixels et des largeurs différentes. Quelqu'un peut-il m'aider à résoudre ce problème?
J'ai réalisé que la définition des propriétés contentMode et bounds n'a aucun effet sur ce code. J'ai ajouté un NSLog après la dernière ligne et a obtenu les résultats comme suit:
NSLog(@"imageview:%@ bounds and contentMode:%@ %@",[holder imageView],[holder.imageView bounds],[holder.imageView contentMode]);
imageview: < UIImageView: 0x39ab8a0; cadre = (0 0; 75 75); opaque = NON; userInteractionEnabled = NO; couche = < CALayer: 0x39a92b0 >> bornes et contentMode: (null) (null)
pas de solution
Bummer, je pensais que je pourrais être obligé de créer une autre sous-classe UITableViewCell ... merci d'avoir pris le temps de le confirmer pour moi! –
Je dois convenir que c'est une énorme perte de temps pour que cela fonctionne comme prévu. –
Alors que cela fonctionne, c'est toujours un hack. On s'attendrait à ce que l'image/les limites soient élaborées à partir des contraintes définies dans l'UITableViewCell personnalisé. –