1

我在 NSImage 中创建了一个 NSView,我想通过 NSNotificationCenter 发送开始和停止通知来制作动画。

我必须采取哪种方式来实现这一点?

我的代码是:

@implementation SyncToolbarItemView

- (id)init
{
    self = [super initWithFrame:CGRectMake(0.0f, 0.0f, 32.0f, 32.0f)];
    if (self)
    {
        // Initialization code here.
    
        // Add observers
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startSyncing) name:NOTIFICATION_START_CHECK_TAG_PROCESS object:nil];
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(stopSyncing) name:NOTIFICATION_FINISHED_CHECK_TAG_PROCESS object:nil];
    }

    return self;
}

- (void)drawRect:(NSRect)dirtyRect
{
    // Init image
    img_sync = [[NSImageView alloc] initWithFrame:NSMakeRect(0.0f, 0.0f, 32.0f, 32.0f)];
    [img_sync setImage:[NSImage imageNamed:@"icon_sync.png"]];

    // Add to view
    [self addSubview:img_sync];

    [img_sync release];
}

- (void) startSyncing
{

}

- (void) stopSyncing
{

}

@end
4

1 回答 1

0

您应该查看 CoreAnimation 参考,它非常清楚地说明了如何为 NSImageView 等控件设置动画。

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004514-CH1-SW1

于 2012-05-15T07:06:53.493 回答