Programmgesteuert verhindern UIImageView aus autoresizing
Möchte ich abschneiden, das eine Ende des UIImageView durch ändern der Größe des Frames dynamisch. Natürlich, wenn es autoresizes es wird nicht 'abgeschnitten', aber sieht geschrumpft. Das erstere ist der Effekt, den ich möchte, der letztere nicht.
So weit ich eingerichtet haben, ist die UIImageView in IB und dann hakte es bis programmgesteuert mithilfe IBOutlet. Dann stellte ich diese in ViewDidLoad, aber bekomme immer noch die autoresizing:
[self.stringImageView setAutoresizingMask:UIViewAutoresizingNone];
self.stringImageView.frame = CGRectMake(9.0f, 508.0f, 500.0f, 26.0f);
Irgendwelche Ideen wie kann ich clip meine UIImageView, anstatt es zu verkleinern?
BEARBEITEN 1
Es sollte auch darauf hingewiesen werden, dass bei der IB habe ich deaktiviert Clip Subviews
und Autoresize Subviews
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie die clip-UIImage-Objekt zuerst nach Bildansicht Rahmen und dann legen Sie es als Bild-für-Bild-Ansicht. Siehe auch Zuschneiden eines UIImage
Verwenden :
stringImageView.contentMode = UIViewContentModeCenter;
so das Bild, das Sie hinzufügen, um die UIImageView behält immer die gleiche Größe und die gleiche position in der Ansicht.Im Interface Builder Modus einstellen in der Registerkarte "Ansicht" auf "Top" oder was auch immer es sein sollte.
Anderen, effizienteren Weg zu gehen, wenn Sie nur wollen, um Teil des Bildes sichtbar,
oder zum Beispiel animieren, sein Aussehen,
ist, um den Inhalt im Modus der
UIImageView
zuUIViewContentModeCenter
(oder jede andere Ausrichtung) und es in einerUIScrollView
.Werden Sie nur brauchen, um den Rahmen zu verändern der scroll-view und Ihr Bild wird optisch abgeschnitten, ohne dass Sie zum erstellen des zugeschnittenen Bildes (das wäre ein sehr hoher Preis, wenn es für die animation dienen).