7

i am applying a border to NSView but how can i change the bordercolor. Using NSColor with setBorderColor is showing a warning. I want to use Orange Color in Border

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

    [self.layer setBorderColor:CGColorGetConstantColor(kCGColorBlack)]; 

How can i set other colors(excluding black and white) in Border

Regards, Haseena

4

3 に答える 3

7

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);

または、10.8 以降が必要な場合は、使用します[aColor CGColor]

于 2012-06-26T14:59:24.700 に答える