Macos 核心动画--不显示任何内容(OS X)

Macos 核心动画--不显示任何内容(OS X),macos,cocoa,core-animation,nsview,quartz-core,Macos,Cocoa,Core Animation,Nsview,Quartz Core,我正在尝试使用OS X中的核心动画绘制此平面: (但是没有黑色背景) 这是我的自定义NSView中的代码: - (id)initWithFrame:(NSRect)frame { self = [super initWithFrame:frame]; if (self) { [self A_singlePlane]; } return self; } - (void)A_singlePlane{ CALayer *container = [CALayer laye

我正在尝试使用OS X中的核心动画绘制此平面:

(但是没有黑色背景)

这是我的自定义NSView中的代码:

- (id)initWithFrame:(NSRect)frame
{
  self = [super initWithFrame:frame];
  if (self) {
    [self A_singlePlane];
  }
  return self;
}

- (void)A_singlePlane{
  CALayer *container = [CALayer layer];
  container.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
  [self.layer addSublayer:container];

  CALayer *purpleLayer = [self addPlaneToLayer:container size:CGSizeMake(100, 100)   position:CGPointMake(100, 100) color:[NSColor purpleColor]];

  CATransform3D t = CATransform3DIdentity;
  t = CATransform3DRotate(t, 45.0f * M_PI / 180.f, 0, 1, 0);
  purpleLayer.transform = t;
}

- (CALayer *)addPlaneToLayer:(CALayer* )container size:(CGSize)size position:(CGPoint)point color:(NSColor *)color{

  CALayer *plane = [CALayer layer];

  plane.backgroundColor = [color CGColor];
  plane.opacity = 0.6;
  plane.frame = CGRectMake(point.x, point.y, size.width, size.height);
  plane.borderColor = [[NSColor colorWithWhite:1.0 alpha:0.5] CGColor];
  plane.borderWidth = 3.0;
  plane.cornerRadius = 10.0;
  [container addSublayer:plane];

  return plane;
}
我在interface builder中有一个视图,该类设置为我的自定义NSView类。我的自定义视图设置为具有图层。结果是一个空白窗口。我没有收到任何错误或警告


有人看到我的逻辑缺陷在哪里了吗?

您的自定义视图层有备份吗?(
setWantsLayer=YES
)很有效,谢谢!但是我已经在Interface Builder中为我的视图选择了一个图层,那么为什么还要在代码中调用它呢?Interface Builder中的图层复选框是否与Objective-C中的图层复选框不同?