嗨,在我的应用程序中,我有一个带有 CALayer 的自定义视图(我将它用于过渡动画),在该视图中我添加了一些子视图,其中一个是带有 NSTableView 的视图。NSTableView 的每个单元格都用阴影绘制它的内容。像这样的代码:
NSShadow* shadow = [[NSShadow alloc] init];
[shadow setShadowOffset:NSMakeSize(2.0, -2.0)];
[shadow setShadowBlurRadius:2.0];
[shadow setShadowColor:[[NSColor blackColor] colorWithAlphaComponent:0.3]];
[shadow set];
[self.stringValue drawInRect:NSMakeRect(x, y, w - 60, h) withAttributes:attributes];
当我的 NSTableView 在 CALayer 开启的情况下少于约 50 行时,或者当我在 IB 中关闭 CALayer 时,我会像这样绘制单元格:http: //i.stack.imgur.com/zMxmK.png
但是当我的 NSTableView 有超过 50 行并且我在 IB 中打开 CALayer 时,我会像这样绘制单元格:http: //i.stack.imgur.com/IMyIP.png
怎么会这样?我打破了我的:(