逐渐用颜色填充NSTextField

时间:2013-03-23 23:54:40

标签: objective-c macos cocoa masking

我正在尝试找到一种在NSTextField中动态显示文本并慢慢用颜色填充它的有效方法。这样做的最好方法是在彼此的顶部创建两个标签,一个是黑色,一个是粉红色......然后在顶层应用蒙版并逐渐调整它的尺寸?

1 个答案:

答案 0 :(得分:0)

  

最好的方法是在上面创建两个标签   另一个,一个是黑色的,一个是粉红色......然后   将遮罩应用于顶层并逐渐调整它的大小?

以下是running mode l的相同内容:

这里的代码很少:

-(void)fillColor{
    NSRect frame=NSMakeRect(self.label.frame.origin.x, self.label.frame.origin.y, self.label.frame.size.width+1.0, self.label.frame.size.height);
    self.label.frame=frame;
    if (self.label.frame.size.width>=self.labelWithText.frame.size.width) {
        [self.timer invalidate];
        self.timer=nil;
    }
}

-(IBAction)button:(id)sender;{
    [self.label setStringValue:@"aaaaaa"];
    [self.label setDrawsBackground:YES];
    [self.label setBackgroundColor:[NSColor redColor]];
    self.timer=[NSTimer scheduledTimerWithTimeInterval:.1f target:self selector:@selector(fillColor) userInfo:nil repeats:YES];
}