gpt4 book ai didi

cocoa - 在 NSView 中添加边框和圆角矩形

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

在我的应用程序中,NSView 应该有圆角矩形和边框,我尝试遵循

static CGColorRef CGColorCreateFromNSColor (CGColorSpaceRef
colorSpace, NSColor *color)
{
NSColor *deviceColor = [color colorUsingColorSpaceName:
NSDeviceRGBColorSpace];

float components[4];
[deviceColor getRed: &components[0] green: &components[1] blue:
&components[2] alpha: &components[3]];

return CGColorCreate (colorSpace, components);
}

并在 InitWithframe 中添加以下代码行

    [[self layer] setCornerRadius:505];
[[self layer] setBorderWidth:500.0];
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB ();
CGColorRef cgColor = CGColorCreateFromNSColor (colorSpace, [NSColor whiteColor]);
CGColorSpaceRelease (colorSpace);
[[self layer] setBorderColor:cgColor];

但是一点效果都没有,有没有其他方法,

我能猜到的另一种方法是,在drawRect中绘制边框,但它看起来很复杂,任何人都可以建议我任何其他方法

亲切的问候

罗汉

最佳答案

感谢您查看此内容,这个逻辑对我有用,

- (void)drawRect:(NSRect)rect
{
if([self hasBorder])
[self drawBorder:rect];

}

-(void)drawBorder:(NSRect)rect{
NSRect frameRect = [self bounds];

if(rect.size.height < frameRect.size.height)
return;
NSRect newRect = NSMakeRect(rect.origin.x+2, rect.origin.y+2, rect.size.width-3, rect.size.height-3);

NSBezierPath *textViewSurround = [NSBezierPath bezierPathWithRoundedRect:newRect xRadius:10 yRadius:10];
[textViewSurround setLineWidth:BORDER_WIDTH];
[pBorderColor set];
[textViewSurround stroke];
}

关于cocoa - 在 NSView 中添加边框和圆角矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5004960/

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