Ich versuche, einige Miniaturbilder in einer festen Größe (100 x 100) mit zu zeichnen UIImageView. Ich habe die Bildgröße meiner Bildansicht auf 100 x 100 festgelegt und contentModeauf UIViewContentModeScaleAspectFill.
Mein Verständnis ist, dass dies dazu führen sollte, dass das Bild in der von mir festgelegten Größe gezeichnet wird und das Bild den Bereich des Bildes ausfüllt und alle Teile des Bildes ausschneidet, die außerhalb der für die Bildansicht festgelegten Größe liegen. Das Bild wird jedoch immer noch größer oder kleiner als die von mir festgelegte Größe von 100 x 100 gezeichnet.
Wenn ich das contentModeauf setze UIviewContentModeScaleToFill, wird das Bild mit genau 100 x 100 gezeichnet, aber es ist verzerrt, um in diese Dimensionen zu passen. Irgendwelche Ideen, warum die Aspektfüllung nicht wie erwartet abgeschnitten wird?
Hier ist mein Code:
_photoView = [[UIImageView alloc] initWithImage:photoImage];
_photoView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_photoView];
CGRect photoFrame = _photoView.frame;
photoFrame.size = CGSizeMake(100, 100);
_photoView.frame = photoFrame;
Zur besseren Veranschaulichung hier ein Screenshot von dem, was ich sehe. Die grünen Quadrate UIViewenthalten die, mit denen UIImageViewich arbeite. Ich habe ihre Hintergrundfarbe auf Grün und den Rahmen der Ansicht auf 100x100 eingestellt. Als Test sind die UIImageViewsauf 50x50 dimensioniert. Wie Sie sehen können ...AspectFill, sind die Bilder bei Verwendung von nicht auf 50 x 50 dimensioniert und in einigen Fällen von der gewünschten Stelle versetzt. Bei Verwendung ...ScaleToFillhaben sie die richtige Größe, aber das Bild ist verzerrt.



