NSWindow阴影轮廓
|
我通过为窗口设置自定义内容视图来绘制自定义窗口。当我绘制自定义视图时,我给它加上圆角和漂亮的轮廓以模仿适当的窗口。
但是,我在窗口周围看到另一个1 px的轮廓,该轮廓从拐角处的边缘偏离。我发现,如果我关闭阴影,它就会消失,但是很明显,因为它想像窗户一样工作,所以我需要阴影。这是关于1px轮廓线的意思:
我该如何预防?
编辑
绘制自定义窗口的内容视图的代码:
NSBezierPath *path = [NSBezierPath bezierPathWithRoundedRect:[self bounds] cornerRadius:5];
NSGradient* aGradient = [[[NSGradient alloc] initWithColorsAndLocations:
[NSColor colorWithDeviceRed:0.5569 green:0.5137 blue:0.4588 alpha:1.0000], 0.0,
[NSColor colorWithDeviceRed:0.5569 green:0.5137 blue:0.4588 alpha:1.0000], 1.0,
nil] autorelease];
[aGradient drawInBezierPath:path angle:90];
[path setLineWidth:4];
[[NSColor colorWithDeviceRed:0.4235 green:0.3922 blue:0.3451 alpha:0.9000] setStroke];
[path strokeInside];
[path setLineWidth:3];
[[NSColor colorWithDeviceRed:0.8431 green:0.8314 blue:0.8078 alpha:1.0000] setStroke];
[path strokeInside];
[path setLineWidth:1];
[[NSColor colorWithDeviceRed:0.4235 green:0.3922 blue:0.3451 alpha:0.9000] setStroke];
[path strokeInside];
没有找到相关结果
已邀请:
5 个回复
柑恫祟
免责声明:此方法将覆盖
的内部方法,因此使用此方法时,后果自负。它可能随任何OS X更新而中断。
体悉
来告诉窗口重新计算其阴影。
耐扫鹤胶鞭
粱委教
contentView -drawRect中的某处:
那应该工作。
良阑纠苫
理想情况下,为获得完美效果,我认为阴影必须等于窗口服务器。