2013-09-28 2 views
0

인터페이스에 NSColorWells가 있지만 setColor : NSColor를 호출하면 색상이 바뀌지 않습니다. 이 방법은 다음과 같습니다.내 응용 프로그램의 [NSColorWell setColor : NSColor]

- (IBAction)randomColor:(id)sender { 
    int size = 255; 
    int R = arc4random_uniform(size); 
    int G = arc4random_uniform(size); 
    int B = arc4random_uniform(size); 
    NSColor *newcolor = [NSColor colorWithCalibratedRed:R green:G blue:B alpha:1.0]; 
    [self.colorwell setColor:newcolor]; 
} 

무슨 문제일까요? TBlue 상기 무엇

+2

색상 구성 요소 값이 1보다? –

답변

3

일 : NSColor의 성분이 0이 아니라면 (255) (에, 0.0 ~ 1.0에서 이동도 arc4random_uniform()의 상한은 결과의 아니라 어떤 최대 값보다적을 것이다 무엇 결과는 될 수 있습니다.)

- (IBAction)randomColor:(id)sender { 
    int size = 256; 
    int R = arc4random_uniform(size); 
    int G = arc4random_uniform(size); 
    int B = arc4random_uniform(size); 
    NSColor *newcolor = [NSColor colorWithCalibratedRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:1.0]; 
    [self.colorwell setColor:newcolor]; 
}