Я поделился экземпляром NSColorPanel, и я назначил ему селектор. Я использую его для цвета фона и для цвета шрифта. Когда я хочу установить цвет текста, все работает нормально, но когда я хочу установить цвет фона, селектор вызывается дважды, а цвет фона был изменен на предыдущий цвет. Существует некоторый код:Селектор NSColorPanel был вызван дважды
- (IBAction)showColorPanel:(id)sender {
NSColorPanel *panel = [NSColorPanel sharedColorPanel];
[panel orderFront:nil];
//[panel ]
[panel setAction:@selector(changeColorForBackground:)];
[panel setTarget:self];
[panel makeKeyAndOrderFront:self];
isFontPanel = NO;
[[self getDesktopController] setFirstString];
}
Selector:
- (void)changeColorForBackground:(id)sender {
if (!isFontPanel) {
DesktopController *desktopController = [self getDesktopController];
[desktopController updateCellBackgroundColor:[sender color]];
}
}
Thx для ответа!
У вас есть собственные колоды цвета, или вы используете колористику цвета и цвета фона на панели шрифтов? Если вы делаете последнее, почему вы ставите себя в качестве целевой панели? –