gpt4 book ai didi

cocoa - 带图层的 NSView 绘制在所有内容上

转载 作者:行者123 更新时间:2023-12-03 16:17:07 26 4
gpt4 key购买 nike

我有一个 NSView,我更改了一些属性,使其成为一个灰色的圆角矩形,并将其添加到我的 View 中(在所有内容的后面)

float gray = 60.0f/255.0f;
NSView* background = [[NSView alloc] initWithFrame: self.iconContainer.frame];
CALayer *viewLayer = [CALayer layer];
[viewLayer setBackgroundColor:CGColorCreateGenericRGB(gray, gray,gray, 1)]; //RGB plus Alpha Channel
[viewLayer setCornerRadius:5.0f];
[background setWantsLayer:YES]; // view's backing store is using a Core Animation Layer
[background setLayer:viewLayer];

// Place view behind all other views
[self.iconContainer addSubview:background positioned:NSWindowBelow relativeTo:nil];

但是,无论我尝试什么,该特定 View 都会高于其他所有内容。

最佳答案

通常,此行为是由于在 subview 上使用核心动画层而导致的,而 super View 则没有。

在 super View 上启用核心动画层应该可以解决该问题,因为随后将使用 Cora 动画层绘制任何 subview ,从而使绘制过程尊重 subview 的顺序。

关于cocoa - 带图层的 NSView 绘制在所有内容上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18412224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com