J'essaie de dessiner des vignettes à une taille fixe (100x100) en utilisant la fonction UIImageView
. J'ai réglé la taille du cadre de ma vue d'image sur 100x100, et j'ai réglé l'option contentMode
à UIViewContentModeScaleAspectFill
.
Si j'ai bien compris, l'image devrait être dessinée à 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 j'ai définie pour elle.
Si je règle le contentMode
à UIviewContentModeScaleToFill
L'image est alors dessinée à la taille exacte de 100x100, mais elle est déformée pour entrer dans ces dimensions. Avez-vous une idée de la raison pour laquelle le remplissage de l'aspect n'est pas écrêté 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 sont les UIView
contenant le UIImageView
avec lesquels je travaille. J'ai défini leur couleur de fond en vert et le cadre de la vue en 100x100. En guise de test, le UIImageViews
ont une taille de 50x50. Comme vous pouvez le constater, lorsque vous utilisez le ...AspectFill
Les images ne sont pas au format 50x50, et dans certains cas, elles sont décalées par rapport à ce que je voudrais. Lorsque vous utilisez ...ScaleToFill
ils sont correctement dimensionnés, mais l'image est déformée.