J'essaie de dessiner des images miniatures à une taille fixe (100x100) en utilisant UIImageView
. J'ai défini la taille du cadre de ma vue d'image sur 100x100 et défini contentMode
sur UIViewContentModeScaleAspectFill
.
Je crois comprendre que cela devrait entraîner le dessin de l'image à la taille que j'ai définie, et l'image remplira la zone de l'image et coupera toutes les parties de l'image qui sont en dehors de la taille que j'ai définie pour la vue de l'image. Cependant, l'image est toujours dessinée plus grande ou plus petite que la taille 100x100 que je lui ai définie.
Si je règle le contentMode
sur UIviewContentModeScaleToFill
, l'image est dessinée à exactement 100x100, mais elle est déformée pour s'adapter à ces dimensions. Avez-vous des idées sur la raison pour laquelle le remplissage d'aspect n'est pas coupé comme prévu?
Voici mon code:
_photoView = [[UIImageView alloc] initWithImage:photoImage];
_photoView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_photoView];
CGRect photoFrame = _photoView.frame;
photoFrame.size = CGSizeMake(100, 100);
_photoView.frame = photoFrame;
Pour mieux illustrer, voici une capture d'écran de ce que je vois. Les carrés verts UIView
contiennent les éléments avec lesquels UIImageView
je travaille. J'ai défini leur couleur d'arrière-plan sur le vert et le cadre de la vue sur 100x100. À titre de test, les UIImageViews
dimensions sont de 50x50. Comme vous pouvez le voir, lorsque vous utilisez le ...AspectFill
, les images ne sont pas dimensionnées à 50x50 et, dans certains cas, sont décalées de l'endroit où je les voudrais. Lors de l'utilisation ...ScaleToFill
, ils sont dimensionnés correctement, mais l'image est déformée.