Cocoa 如何正确设置CALayer层次结构?

Cocoa 如何正确设置CALayer层次结构?,cocoa,calayer,Cocoa,Calayer,我正在尝试将视图一个接一个地排列,这样前视图就会显示一些动画。看来实现这一目标的唯一方法是使用CALayer。下面是我使用的代码 -(void)viewDidLoad { CALayer *frontLayer = [CALayer layer]; CALayer *rearLayer=[CALayer layer]; frontLayer.backgroundColor=CGColorCreateGenericRGB( 0.25, 0.45, 0.35, 1.0 ); fron

我正在尝试将视图一个接一个地排列,这样前视图就会显示一些动画。看来实现这一目标的唯一方法是使用CALayer。下面是我使用的代码

-(void)viewDidLoad {
  CALayer *frontLayer = [CALayer layer];
  CALayer *rearLayer=[CALayer layer];
  frontLayer.backgroundColor=CGColorCreateGenericRGB( 0.25, 0.45, 0.35, 1.0 );
  frontLayer.frame = CGRectMake(0,311, 266,21);

  [_outputText setLayer:rearLayer];
  [_outputText setWantsLayer:YES];

  [_outPutTextHideBox setLayer:frontLayer];
  [rearLayer addSublayer:frontLayer];
}
这里的
\u outputText
是NSTextView,而
\u outPutTextHideBox
是NSBox。
问题是我的frontLayer没有显示在rearLayer的顶部。实际上,frontLayer显示在rearLayer下。

你所说的“实现这一点的唯一方法是使用CALayer”是什么意思?@Justin我说得不太正确。关键是我希望
\u outputTextHideBox
弹出动画并完全重叠
\u outputText
。据我所知,动画处理只能在CALayer的帮助下进行。因此,我认为要处理动画,首先我需要将视图正确地分配给层。