2012-04-09 12 views
0

, wenn ich die Zelle Imageview Schatten wie folgt festgelegt:über die Schatten der Maskenschicht

[[[self imageView] layer] setShadowColor:[[UIColor redColor] CGColor]]; 
[[[self imageView] layer] setShadowOffset:CGSizeMake(1, 2)]; 
[[[self imageView] layer] setShadowOpacity:1.0]; 
[[[self imageView] layer] setShadowRadius:MASK_LAYER_RADIUS]; 


self.maskLayer = [[[CALayer alloc] init] autorelease]; 
[_maskLayer setFrame:CGRectMake(0, 0, [UIImage imageNamed:name].size.width, [UIImage imageNamed:name].size.height)]; 
[_maskLayer setBackgroundColor:[[UIColor grayColor] CGColor]]; 
[_maskLayer setCornerRadius:MASK_LAYER_RADIUS]; 
[_maskLayer setOpacity:MASK_LAYER_OPACITY]; 
[_maskLayer setShadowColor:[[UIColor greenColor] CGColor]]; 
[_maskLayer setShadowOffset:CGSizeMake(1, 2)]; 
[_maskLayer setShadowOpacity:1.0]; 
[_maskLayer setShadowRadius:MASK_LAYER_RADIUS]; 
[self.imageView.layer setMask:_maskLayer]; 

Entschuldige, dass ich nicht das Bild von

Effekt hochladen

wenn ich i die ShadowRadius finden runing keine Wirkung haben? Ich kann die Ecke sehen

danke.

+0

Die shadowRadius (beide der Imageview Schicht und der Maskenschicht) ist so vorgesehen. Der Alphakanal der Maske definiert den Alphakanal der Ebene, an die er angehängt ist. Das bedeutet, dass Sie für die Maske keine Farben wie Grau und Grün sehen werden. Wenn Sie versuchen, an den Bildrändern ein weiches Ausblenden zu erzielen, kann das Erstellen eines Schattens auf der Maskenebene funktionieren. Wenn Sie einen grünen Schatten sehen möchten, muss er sich auf einer sichtbaren Ebene befinden, nicht auf einer Maske. – Dondragmer

Antwort

Verwandte Themen