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 contentMode
auf 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 contentMode
auf 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 UIView
enthalten die, mit denen UIImageView
ich arbeite. Ich habe ihre Hintergrundfarbe auf Grün und den Rahmen der Ansicht auf 100x100 eingestellt. Als Test sind die UIImageViews
auf 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 ...ScaleToFill
haben sie die richtige Größe, aber das Bild ist verzerrt.