如何以编程方式设置NSView层

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何以编程方式设置NSView层相关的知识,希望对你有一定的参考价值。

这样做的正确方法是什么?这是我正在尝试的。但是dotLayer上从不调用display:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    DotLayer *dotLayer = [[DotLayer alloc]init ];
    dotLayer.frame= CGRectMake(10, 10, 100, 100);
    dotLayer.nDots = 4;
    NSView *contentView = window.contentView;
    CALayer *layer = [[CALayer alloc]init];
    layer.frame = CGRectMake(0,0,200,200);
    contentView.layer = layer;
    [layer addSublayer:dotLayer];
    [dotLayer setNeedsDisplay];
}

DotLayer是CALayer的子类。

答案

你有没有忘记setWantsLayer?

contentView.wantsLayer = true

这通常是个问题!

以上是关于如何以编程方式设置NSView层的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式将视图添加到 NSWindow(或 NSView)?

从 nib 以编程方式从 NSView 的子类加载对象

无法关闭在 Interface Builder 中创建的 NSView 实例的剪辑

如何以编程方式从片段内部设置ViewPager选项卡?

当我以编程方式从情节提要加载窗口时,为啥在 NSView 中未调用 drawRect?

如何以编程方式为工具栏设置 app:layout_scrollFlags