[NSColorWell setColor:NSColor]
В моем приложении у меня есть некоторые NSColorWells в интерфейсе, но когда я вызываю 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];
}
В чем может быть проблема?
1 ответ
Решение
Что сказал TBlue: Компоненты NSColor
перейти от 0,0 до 1,0, а не от 0 до 255. (Кроме того, верхняя граница 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];
}