• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

Bildgröße ändern

bginner

Ingrid Marie
Registriert
13.12.09
Beiträge
266
Hallo,
klingt eigentlich trivial das problem, ist es aber irgendwie nicht.
Wie gesagt möchte ich die Bildgröße bwz. die Breite des Bildes ändern.
Ich habe ganz normal in einer Image View ein Bild. Da kann ich die Breite
ohne Probleme auslesen. myImageView.image.size.width.
Aber sobald ich einen wert zuweise....
Code:
myImageView.image.size.width = 640;
gibt es einen Fehler.
Code:
error: lvalue required as left operand of assignment
Wobei ich doch ganz klar einen LVAlue habe.
Weiß jemand wie ich die Bildgröße jetzt nun ändern kann?
 
size
The dimensions of the image, taking orientation into account (read-only)

@property(nonatomic, readonly) CGSize size

versuch doch das image in einem rect zu malen.

- (void)drawInRect:(CGRect)rect{
rect = CGRectMake(640,400); //oder so
}

Parameters
rect
The rectangle (in the coordinate system of the graphics context) in which to draw the image.
 
die size property ist readonly!

Du kannst aber die Größe des UIImageView anpassen. Das wäre dann einfacher. Und den contentMode des View auf
Code:
UIViewContentModeScaleAspectFit
setzen
 
Danke für eure Antworten... das mit dem Anpassen der ImageView klingt nicht schlecht, allerdings erscheinen die Bilder in einer Table-Cell. Da einige Bilder im Hochformat und einige im Querformat sind, variiert die Breite. als ich versucht habe den ImageView der Zelle anzupassen meckert der Compiler zwar nicht aber es passiert auch nichts.
Habe das jetzt wie folgt gemacht.
Code:
[cell.imageView setFrame:CGRectMake(0, 0, 20, 20)];
[cell.imageView setContentMode:UIViewContentModeScaleAspectFit];
cell.imageView.image = [[imageItems objectAtIndex:indexPath.row] retain];

Wenn ich per NSLog die Breite der ImageView auslese ist die tätsächlich auch 20, aber die Bilder in der Table-Cell ändern ihre Breite nicht, obwohl ich ja den ContentMode richtig gesetzt habe.