Benötigen Sie Hilfe zu contentMode und autoresizingMask of UIImageView

7

Ich habe ein Bild wie dieses Bild, das im Landschaftsmodus angezeigt wird

Wenn also das Gerät auf Portrait gedreht wird, wie wird das Bild so dargestellt?

    
RAGOpoR 03.06.2010, 03:54
quelle

4 Antworten

12

Verwenden Sie eine UIImageView mit diesen Einstellungen:

%Vor%     
MatterGoal 27.04.2011 15:17
quelle
7

Es sieht so aus, als würden Sie versuchen, das Bild rechts zu schneiden, während Sie oben, links und unten dasselbe lassen.

Zwei Dinge zu versuchen:

1) Unterklasse UIView und in der drawRect -Methode, passen Sie die Rect und ziehen Sie das abgeschnittene Bild mit CGContextDrawImage (context, rect, sourceImage.CGImage) .

2) Verwenden Sie CALayers. Sie können den 'contentsRect' der imageView-Ebene anpassen:

%Vor%

Dies schneidet das Bild entlang der Breite in der Mitte. masksToBounds kümmert sich um Clipping Sublayer (falls Sie sie haben). Sie können das contentsRect -Einheitsrechteck anpassen, um festzulegen, wo Sie den Cutoff setzen möchten. Sie können auch die eigenen Grenzen des imageView anpassen, um die Größe anzupassen.

Dies hat einen zusätzlichen Vorteil darin, dass die Anpassung von contentsRect automatisch animiert wird. Wenn Sie also die Drehung ausführen, wird die Breite angenehm animiert.

    
Ramin 03.06.2010 05:55
quelle
2
%Vor%     
rpetrich 03.06.2010 09:19
quelle
0

Sie müssen mit der Ebene der Ansicht arbeiten.

Sie finden die entsprechenden Richtlinien unter Ссылка

Hoffe, das hilft.

Danke,
Jim.

    
Jim 03.06.2010 04:41
quelle

Tags und Links