2017-04-19 3 views
2

Ich versuche, eine Schaltfläche mit etwas Glow-Effekt zu animieren.Stärkerer Schatten auf iOS

Bisher ist es das, was ich habe:

self.glowLayer = [[CALayer alloc] init]; 
self.glowLayer.contents = (__bridge id _Nullable)(self.currentBackgroundImage.CGImage); 
self.glowLayer.opacity = 0; // set to 1 with animation. 
self.glowLayer.shadowColor = [UIColor vtoPinkColor].CGColor; 
self.glowLayer.shadowOffset = CGSizeZero; 
self.glowLayer.shadowRadius = 5; 
self.glowLayer.shadowOpacity = 1; 
self.glowLayer.rasterizationScale = [UIScreen mainScreen].scale; 
self.glowLayer.shouldRasterize = YES; 
[self.layer addSublayer:self.glowLayer]; 

Allerdings finde ich den Leuchteffekt nicht stark genug. Natürlich kann ich den Schattenradius ändern, um ihn breiter zu machen, aber er lässt den Schatten nur "verdünnen" anstatt stärker zu werden.

enter image description here

Wie soll ich vorgehen?

+1

Was ist '[UIColor vtoPinkColor]'? Ist es schon teilweise transparent? Ist Ihr Inhaltsbild im Inneren der Herzform teilweise transparent? Verwenden Sie eine vollständig undurchsichtige Schattenfarbe und ein Bild, bei dem die Teile des Schattenwurfs ebenfalls vollständig undurchsichtig sind. –

+0

Versuchen Sie auch eine Schattenfarbe, die "dunkler" ist (hat den gleichen Farbton, aber reduzierte Helligkeit). –

+0

Nein; Diese Farbe enthält keine Transparenz (wie das Herz) – Antzi

Antwort

0

Ändern des Werts von self.glowLayer.shadowOpacity 1 wird für Sie arbeiten. und versuchen Sie auch Translucent = Nein

+0

Nein, das funktioniert nicht. Aus der Dokumentation "Der Wert in dieser Eigenschaft muss im Bereich von 0.0 (transparent) bis 1.0 (undurchsichtig) liegen. Der Standardwert dieser Eigenschaft ist 0.0." – Antzi

+0

shadowOpacity Bereich von 0 bis 1 –

+0

Lesen Sie meinen Code. Ich mache es schon. – Antzi