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 contentModesur 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 contentModesur 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 UIViewcontiennent les éléments avec lesquels UIImageViewje 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 UIImageViewsdimensions 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.



