J'essaie de placer diverses images de taille à l'intérieur de l'IMAGEView d'Uitabiliewcell. Je reçois les données d'image asynchlez, créez l'image, définissez le mode de contenu de ImageView et défini enfin les limites de l'image d'image. Mais le code semble insensible à tout changement que j'ai fait. Je veux que les images soient centrées dans une zone de 75x75. J'ai écrit le code ci-dessous à cet effet
NSLog(@"imageview:%@ bounds and contentMode:%@ %@",[holder imageView],[holder.imageView bounds],[holder.imageView contentMode]);
5 Réponses :
Essayez de modifier la propriété "contentmode" de l'image d'image sur "UIViewContentModeScAltfit" ou "UIViewContentMoDescallefill" p>
Merci, j'ai essayé votre recommandation mais cela n'a pas fonctionné. J'ai réalisé que quelle que soit la valeur que j'ai définie sur contentmode et les limites n'a aucun effet. J'ai édité mon premier post pour refléter cela.
Terminé, j'ai finalement trouvé la solution, cela m'a coûté 3 heures =)
La solution consiste à modifier les propriétés telles que liées, cadre, contentage de la mode - (vide) Méthodey de la classe Uitabiliewcell personnalisée. Le "astuce" consiste à écrire un code de mise en page dans cette méthode, sinon le code n'a aucun effet. p>
Le code ci-dessous a fait le travail pour moi. Il fait des rangées de la table alignée verticalement. P>
Bummer, je pensais que je pourrais être obligé de créer une autre sous-classe UitablesViewCell ... Merci d'avoir mis au moment de la confirmer pour moi!
Je dois accepter qu'il s'agit d'une perte de temps massive pour que cela fonctionne comme prévu.
Bien que cela fonctionne, c'est toujours un hack. On s'attendrait à ce que la trame / limites soit élaborée à partir des contraintes définies dans l'utableviewcell personnalisé.
Parfait. Travaillé en premier Go. Merci mon pote.
"UIViewContentModecenter || uiviewContentModeredraw" est équivalent à 1. Ce n'est pas non plus un Bitfield. Vous voulez UIViewContentModecenter.
UitailViewCell.ImageView est géré par la cellule. Si vous souhaitez une mise en page personnalisée, essayez d'ajouter une vue sur contentView (je suppose que ce que vous entendez par «centré dans une zone de 75x75»): p>
Merci! J'ai résolu le problème sans utiliser la vue de contenu. Je vais marquer la question comme répondu après 2 jours =)
donc le problème avec uableviewcell strong> est que vous n'avez aucun contrôle sur la taille des objets intégrés (à savoir Vous pouvez, car Behlul a souligné, forcer les tailles à être corrigées en utilisant LayouTouSubviews forte>, mais le problème de celui-ci est que layouLetSubviews est appelé tous les Temps le tableau défile. C'est beaucoup d'appels de repencement inutiles. P> Un autre, méthode consiste à ajouter tous em> de votre contenu à la De cette façon, vous pouvez placer et former vos articles comment vous les voulez. p> Le côté du bas est que les messages de stock ne sont plus reçus de l'accessoire ou des vues d'image. Il vous suffit de vous créer posséder. P> espère que cela aide! P>
C'est en fait la meilleure méthode que la réponse sélectionnée. Vous pouvez également créer un uableviewCell via XIB, si vous le souhaitez. Voici un tutoriel sur celui-ci: ijoshsmith.com / 2011/07/16 / ...
Créer une sous-classe d'UitailViewCell: