NSViewの背景にNSShadowを描画しようとしています。Mac OS X Tigerをサポートする必要があるため、NSGradientの代わりに使用したいと思います。どうすればいいですか?私はこれがかなり簡単であるに違いないことを知っています、そして私はいくつかの間違いをしているに違いありません。
ありがとう!
NSViewの背景にNSShadowを描画しようとしています。Mac OS X Tigerをサポートする必要があるため、NSGradientの代わりに使用したいと思います。どうすればいいですか?私はこれがかなり簡単であるに違いないことを知っています、そして私はいくつかの間違いをしているに違いありません。
ありがとう!
最も簡単な方法は、ビューのレイヤーの影のプロパティを設定することです。という名前の NSView* がある場合、次のview
ようになります。
[[view layer] setShadowOpacity:0.5];
影の不透明度を 0 より大きい値に設定すると、影が表示されます。描画される影はビューのアルファ チャネルに似ているため、ビューに描画したものには影が付きます。ぼかし半径など、設定できるシャドウ アトリビュートは他にもいくつかあります。詳細については、CALayer のリファレンス ページをご覧ください。
NSShadow を使用する必要がある場合は、描画を行う前に影を設定してください。
- (void)drawRect:(NSRect)rect
{
NSShadow *shadow = [[[NSShadow alloc] init] autorelease];
[shadow setShadowBlurRadius:3.0];
[shadow setShadowOffset:NSMakeSize(0.0, 5.0)];
[shadow setShadowColor:[NSColor colorWithCalibratedWhite:0.0 alpha:0.6]];
[shadow set];
// continue with your drawing...
}