2012-06-26 19 views
5

NSViewに罫線を適用していますが、境界線をどのように変更できますか? setBorderColorでNSColorを使用すると警告が表示されます。私はボーダーでNSView罫線の色

よろしく(黒と白を除く)他の色を設定することができます

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

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

どのように国境でオレンジ色を使いたい、 Haseena

+0

を処理するためにNSViewのサブクラスであるNSBoxを使用して設計されたことができます。https://要旨.github.com/707921それは一見価値があるかもしれません。 – Alladinian

+0

'NSView'のサブクラスである' NSBox'を使う必要があります。 – onmyway133

答えて

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

それとも10.8+が必要になることがあれば、使用[aColor CGColor]

+0

は動作しました!ありがとう –

1

あなたがここにCGColor` `へNSColor``からの変換を行うのAppKitのカテゴリがあり、これらの例

let box = NSBox() 
box.boxType = .custom 
box.alphaValue = 1 
box.borderColor = NSColor.red 
box.borderType = .lineBorder 
box.borderWidth = 4