【发布时间】:2013-06-30 20:44:17
【问题描述】:
我花了一些时间试图弄清楚如何为NSView 添加阴影。目前,我正在尝试使用NSShadow 类来完成此操作。我的代码如下。我试图在NSView 子类的自定义初始化方法中创建阴影。无论我尝试什么,都不会出现阴影。
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: 将NSBezierPath 转换为CGPath。
【问题讨论】:
-
您是否尝试过在 Interface Builder 中查看效果检查器?
标签: objective-c macos cocoa nsview nsshadow