У меня есть NSButton
под названием _indicatorButton
с изображением PNG (в основном зеленый светодиод, как PNG, установленный с setImage :) без рамки и текста. Я пытаюсь сделать его «вспышкой» со следующим кодом:Мигает NSButton с Core Animation
- (void)animateButton
{
NSLog(@"Animating…");
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"opacity"];
[animation setFromValue:[NSNumber numberWithFloat:1.0]];
[animation setToValue:[NSNumber numberWithFloat:0.0]];
[animation setDuration:0.3f];
[animation setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[animation setAutoreverses:YES];
[animation setRepeatCount:20000];
[_indicatorButton.layer addAnimation:animation forKey:@"opacity"];
}
... но ничего не происходит. Метод вызывается и ссылка в XIB в порядке, так как изменение изображения на кнопке программно отлично работает.
Любые подсказки, почему он не мигает вообще?
Какая версия ОС X? Вы просматриваете слой с поддержкой? –
@ DavidRönnqvist Горный лев. Что вы имеете в виду под «поддержкой»? – tamasgal
Вы должны прочитать [документацию для 'wantLayer'] (https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html#//apple_ref/ occ/instm/NSView/setWantsLayer :) –