2013-03-23 74 views
0

我试图找到一种动态显示NSTextField中的文本并缓慢地填充颜色的有效方法。要做到这一点的最好方法是在彼此之上创建两个标签,一个是黑色,另一个是粉红色......然后将遮罩应用到顶层并逐渐调整其大小?逐渐填充颜色的NSTextField

+0

改变NSLabel到的NSTextField作为NSLabel是没有在OSX。 –

回答

0

愿意这样做的最好的办法是用一个黑色和一个有发言权的粉色打造上的 顶部海誓山盟,一个两个标签......然后 将掩模施加到顶层逐渐调整它的大小?

这里是running mode升的一样:

很少的代码在这里:

-(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]; 
}