gpt4 book ai didi

objective-c - 如何给 NSView 添加阴影

转载 作者:搜寻专家 更新时间:2023-10-30 20:02:54 26 4
gpt4 key购买 nike

我花了一些时间试图找出如何向 NSView 添加阴影。现在,我正在尝试使用 NSShadow 类来完成此操作。我的代码如下。我试图在 NSView 子类的自定义初始化方法中创建阴影。无论我尝试什么,都没有出现阴影。

NSShadow *dropShadow = [[NSShadow alloc] init];
[dropShadow setShadowColor:[NSColor blackColor]];

[self setWantsLayer:YES];
[self setShadow:dropShadow];

编辑

这是我尝试使用 CALayer 实现的方式。

self.layer.shadowOffset = CGSizeMake(10, 10);
self.layer.shadowOpacity = 1.0;
self.layer.shadowRadius = 10.0;
self.layer.shadowPath = [self quartzPathFromBezierPath:[NSBezierPath bezierPathWithRect:frame]];

quartzPathFromBezierPath:NSBezierPath 转换为 CGPath

最佳答案

将其与偏移量一起使用,需要设置其他参数

- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
NSShadow *dropShadow = [[NSShadow alloc] init];
[dropShadow setShadowColor:[NSColor redColor]];
[dropShadow setShadowOffset:NSMakeSize(0, -10.0)];
[dropShadow setShadowBlurRadius:10.0];

[self setWantsLayer: YES];
[self setShadow: dropShadow];

[dropShadow release];
}

return self;
}

关于objective-c - 如何给 NSView 添加阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17394672/

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