5 Stimmen

Kann renderInContext: Eckenradius und Schatten beibehalten?

Ich habe ein benutzerdefiniertes UILabel mit runden Ecken und einem Schlagschatten. Ich verwende die Eigenschaften von CALayer, um dies zu erreichen. Als nächstes versuche ich, dies als UIImage mit renderInContext: zu speichern. Die runden Ecken werden beibehalten, aber ein schwarzer Hintergrund erscheint und der Schlagschatten geht verloren.

Rendered Image

Irgendwelche Ideen zum Rendern der UILabel als ein Bild, aber die Beibehaltung der Schatten und abgerundeten Ecken?

Hier ist der Code, den ich verwende, um das Etikett zu rendern:

UIGraphicsBeginImageContextWithOptions(label.bounds.size, YES, 0);
[label.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

6voto

Prometheus Punkte 860

Sie können abgerundete Ecken erhalten, indem Sie das zweite Argument in UIGraphicsBeginImageContextWithOptions auf "NO" ändern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X