NSView *子类更改颜色动画

时间:2017-06-27 18:26:45

标签: objective-c macos core-animation nsview nscolor

我在OSX,XCode 8.3.3,Objective-C。 我已经将NSView *子类化为自定义背景颜色:

·H

@interface SHViewWhiteBackground : NSView

    @property NSColor* backgroundColor;

@end

的.m

@implementation SHViewWhiteBackground

- (void)drawRect:(NSRect)dirtyRect {
    NSColor* fillColor = [NSColor whiteColor];

    if (self.backgroundColor)
        fillColor = self.backgroundColor;

    [fillColor setFill];
    NSRectFill(dirtyRect);
    [super drawRect:dirtyRect];
}

@end

现在我可以打电话了

[view setBackgroundColor:[NSColor someColor]];
[view setNeedsDisplay:YES];

改变颜色。我想知道是否有办法让这种变化具有动画效果?

1 个答案:

答案 0 :(得分:0)

我最终使用了图层支持的视图和动画的pop框架。