Größe UIImageView in UITableViewCell
Habe ich eine 16x16 pixel große Grafik, die ich anzeigen möchten, die in einem UIImageView. So weit kein problem, allerdings 16x16 ist ein bisschen klein, so will ich, um die Größe des Bildes anzeigen zu 32 x 32, und somit auch das Bild zu skalieren, bis.
Aber ich kann nicht ankommen es zu wirken, es zeigt immer das Bild mit 16x16, egal was ich versuche. Ich googelte viel und fand viele Schnipsel hier auf Stack Overflow, aber seine immer noch nicht funktioniert.
Hier ist mein code bisher:
[[cell.imageView layer] setMagnificationFilter:kCAFilterNearest];
[cell.imageView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
[cell.imageView setClipsToBounds:NO];
[cell.imageView setFrame:CGRectMake(0, 0, 32, 32)];
[cell.imageView setBounds:CGRectMake(0, 0, 32, 32)];
[cell.imageView setImage:image];
Ich will nicht, um eine neue zu erstellen 32x32 pixel großes Bild, weil ich schon einige memory-Probleme auf älteren Geräten und dem erstellen zweier Bilder anstatt nur eines sieht aus wie ein sehr schlechter Ansatz für mich (die Bilder können perfekt skaliert und es spielt keine Rolle, wenn Sie an Qualität verlieren).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich erfolgreich gemacht, es mit CGAffineTransformMakeScale!
cell.imageView.contentMode = UIViewContentModeScaleAspectFit;
Ich glaube, Sie brauchen, um die contentMode:
Im Kontext:
Hinweis: ich habe eingestellt, dass die Hintergrundfarbe so können Sie debug auf dem Bildschirm, die die Grenzen der UIImageView. Auch
x
undy
sind beliebige ganzzahlige Koordinaten.Mit
CGAffineTransformMakeScele
wie @ahmed sagte, gültig ist und nicht zu sein scheint-duck-Art-Lösung bei al! Zum Beispiel, wenn Sie ein großes Bild und legen Sie es in eine UITableViewCell (sagen das Bild ist 2x größer als die, die passt in eine Zelle der Tabelle. Wenn Sie die Skalierung um 0,9 Sie nicht sehen, ohne Ergebnis. Nur wenn Sie die Skala von weniger als 0,5 (weil 0.5*2.0 = 1.0, wird die Größe der Zelle). Es scheint also, dass innerhalb der api, apple macht genau das.Müssen Sie überschreiben die Methode layoutSubviews. Standardmäßig ist die Größe der Bildansicht auf der Basis der Zelle für die Höhe.
Werden Sie wahrscheinlich wollen, um eine Neuberechnung der Herkunft als gut, so dass es vertikal zentriert.