0

次のようにセルのimageViewシャドウを設定すると:

[[[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];

エフェクトの画像がアップできなくてすみません

実行すると、ShadowRadius が効果がないことがわかりましたか? 角が見える

ありがとう。

4

1 に答える 1

6

マスクと影が同じレイヤーにあるため、影もマスクします。

iOS で画像をマスクして影を付ける簡単な手法を説明するコードを含むブログ投稿を書きました: http://travisjeffery.com/b/2012/08/ios-how-to-mask-and-shadow-an -画像/

于 2012-08-07T01:09:17.377 に答える