NSView边框颜色

Has*_*kar 6 cocoa

我正在应用NSView边框,但我怎么能改变bordercolor.使用带有setBorderColor的NSColor会显示警告.我想在边框中使用橙色

    [self setWantsLayer:YES];
    self .layer.masksToBounds   = YES;    
    self.layer.borderWidth      = 6.0f ;

    [self.layer setBorderColor:CGColorGetConstantColor(kCGColorBlack)]; 
Run Code Online (Sandbox Code Playgroud)

如何在边框中设置其他颜色(黑色和白色除外)

此致,Haseena

Jas*_*wig 6

您需要转换为CGColorRef

NSColor *orangeColor = [NSColor orangeColor];

// Convert to CGColorRef
NSInteger numberOfComponents = [orangeColor numberOfComponents];
CGFloat components[numberOfComponents];
CGColorSpaceRef colorSpace = [[orangeColor colorSpace] CGColorSpace];    
[orangeColor getComponents:(CGFloat *)&components];    
CGColorRef orangeCGColor = CGColorCreate(colorSpace, components);

// Set border
self.view.layer.borderColor = orangeCGColor;

// Clean up
CGColorRelease(orangeCGColor);
Run Code Online (Sandbox Code Playgroud)

或者,如果您需要10.8+,请使用 [aColor CGColor]


onm*_*133 6

您可以使用NSBox,这是NSView处理这些情况的子类,旨在处理这些情况

let box = NSBox()
box.boxType = .custom
box.alphaValue = 1
box.borderColor = NSColor.red
box.borderType = .lineBorder
box.borderWidth = 4
Run Code Online (Sandbox Code Playgroud)