0

NSTextField にテキストを動的に表示し、ゆっくりと色で塗りつぶす効率的な方法を見つけようとしています。これを行う最善の方法は、2 つのラベルを重ねて作成することでしょうか。1 つは黒色で、もう 1 つはピンク色です...そして、一番上のレイヤーにマスクを適用し、徐々にサイズを調整しますか?

4

1 に答える 1

0

これを行う最善の方法は、2 つのラベルを重ねて作成することでしょうか。1 つは黒色で、もう 1 つはピンク色です...そして、一番上のレイヤーにマスクを適用し、徐々にサイズを調整しますか?

はい

同じの実行モード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];
}
于 2013-03-24T06:36:50.230 に答える