3

に影を追加する方法を理解しようと、しばらく時間を費やしましたNSView。今のところ、NSShadowクラスを使用してこれを達成しようとしています。私のコードは以下です。NSViewサブクラスのカスタム init メソッドでシャドウを作成しようとしています。どう頑張っても影が出ない。

NSShadow *dropShadow = [[NSShadow alloc] init];
[dropShadow setShadowColor:[NSColor blackColor]];

[self setWantsLayer:YES];
[self setShadow:dropShadow];

編集

これが私がそれをやろうとした方法ですCALayer

self.layer.shadowOffset = CGSizeMake(10, 10);
self.layer.shadowOpacity = 1.0;
self.layer.shadowRadius = 10.0;
self.layer.shadowPath = [self quartzPathFromBezierPath:[NSBezierPath bezierPathWithRect:frame]];

quartzPathFromBezierPath:を に変換NSBezierPathCGPathます。

4

3 に答える 3

0

別の方法としてNSShadow、ビュー レイヤーを取得し、そのシャドウ関連のプロパティを使用します。特に、 をshadowOpacity0 (デフォルト) より大きい値に設定してください。

シャドウ オフセットとシャドウ パスを同時に使用できないことに注意してください。

于 2013-06-30T21:08:36.953 に答える