2010-11-22 13 views
2

Ich experimentiere mit der Ebene eines UIImageView, insbesondere mit abgerundeten Ecken.Hinzufügen abgerundeter Ecken zu UIImageView vs Pre-Rendering der UIImage?

Meine Frage ist, Was die Auswirkungen auf die Leistung ist (falls vorhanden), indem Sie die folgenden Aktionen ausführen:

[self.imgView.layer setCornerRadius:10.0f]; 
[self.imgView.layer setMasksToBounds:YES]; 
[self.imgView.layer setBorderWidth:2.0f]; 
[self.imgView.layer setBorderColor:[[UIColor yellowColor] CGColor]]; 

über 'Pre-Rendering' das Bild vor der Hand.

Danke

Antwort

1

Coreanimation im Allgemeinen ist sehr schnell - in der Tat, zu schnell zu kümmern.

Wenn also das Originalbild einen beliebigen Wert haben kann oder Sie später eine andere Grenze benötigen, verwenden Sie diese CALayer-Attribute.

Ich würde mit vorgerenderten nur gehen, wenn das Randmuster in Stein gemeißelt ist. Darüber hinaus kann CA Geschwindigkeit von Zeit zu Zeit beschleunigen, wenn Maskierung beteiligt ist, da Sie opake Bilder anstelle von transparent verwenden können, so dass die Region, die Alpha-Blending benötigt, erheblich kleiner ist (aber keine harte Zahl in diesem).

+1

Eine Ausnahme, die ich gefunden habe, ist, wenn Sie die 'image' -Eigenschaft der Bildansicht häufig ändern, zum Beispiel wenn es Teil einer wiederverwendbaren Tabellenansichtszelle ist. In diesem Fall habe ich ein Pre-Rendering gefunden, das ein spürbar glatteres Scrollen ermöglicht (zumindest auf dem ursprünglichen iPhone und in geringerem Maße auch auf 3GS). –

+0

Danke Jungs, ich weiß es zu schätzen, dass Sie sich die Zeit genommen haben, zu antworten. – MDMonty