Cocoa 山狮的影子没有显现出来

Cocoa 山狮的影子没有显现出来,cocoa,calayer,nsview,osx-mountain-lion,nsshadow,Cocoa,Calayer,Nsview,Osx Mountain Lion,Nsshadow,我有一个奇怪的问题,自从升级到10.8以后,我再也不能为我的(图层备份)视图设置阴影了 NSShadow *shadow = [[NSShadow alloc] init]; [shadow setShadowColor:[NSColor darkGrayColor]]; [shadow setShadowOffset:NSMakeSize(0.0, -2.0)]; [shadow setShadowBlurRadius:2.0]; [[self imageView] setWantsLaye

我有一个奇怪的问题,自从升级到10.8以后,我再也不能为我的(图层备份)视图设置阴影了

NSShadow *shadow = [[NSShadow alloc] init];
[shadow setShadowColor:[NSColor darkGrayColor]];
[shadow setShadowOffset:NSMakeSize(0.0, -2.0)];
[shadow setShadowBlurRadius:2.0];

[[self imageView] setWantsLayer:YES];
[[self imageView] setShadow:shadow];
此代码段在10.7 Lion中运行良好,但在操作系统升级后就没有了

我还创建了一个测试项目,其中我只通过IB添加了一个图像视图,并设置了这些阴影属性。这也行不通

我还下载了名为“CocoaSlides”的苹果示例代码,其中它们还使用层备份视图和NSShadow。它在那里工作很好,但电话似乎和我的一样


有人遇到过这个问题吗?您找到解决方案了吗?

self.imageView.superview是否也“想要层”?图像视图位于NSScrollView层次结构的下方。从documentView向下看,所有人都想要图层。我特别告诉即时superview想要图层,但这并不能解决问题。我有第二种情况,类似Xcode的选项卡栏,在NSButtonCell中绘制阴影。特别是在按钮superview中设置wantsLayer在那里起了作用。我明白了。您可能需要在问题中提供更多的上下文。请对其进行编辑,并提供更完整的层次结构描述、需要阴影的视图尺寸及其superview的边界。这些都是其他人需要理解的关键因素。参考这篇文章,希望它能解决你的问题。