2

境界線とテキストのない PNG 画像 (基本的には setImage: で設定された PNG としての緑色の LED ライト) でNSButton呼び出されました。_indicatorButton次のコードで「フラッシュ」しようとしています:

- (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 のリンクは問題ありません。

まったく点滅しない理由はありますか?

4

1 に答える 1

4

下位互換性のため、OS X のビューは、デフォルトでバッキング ストアとして Core Animation レイヤーを使用しません。何も起こらない理由は、ボタンのレイヤーがゼロである可能性があります。

を使用して、レイヤーを使用する必要があることをビューに伝えることができますmyView.wantsLayer = YES;のドキュメントをwantsLayerお読みください。

于 2012-10-16T06:36:55.483 に答える