0

我有一个表示事件倒计时的 int 值(正在显示的视图)。目前,我这样做:

- (void) buttonTapped:(id)sender {
    [self performSelector:@selector(displayView) afterDelay:countdownValue];
}

我想做的是以下...

点击按钮时,将我的导航栏的色调颜色按比例更改为红色、黄色、绿色,直到倒计时结束,然后显示视图。

因此,例如,如果我的倒计时是 3 秒,则每种颜色为 1 秒,如果是 5 秒,则每种颜色为 1.666。

我可以使用 NSTimer 来安排这个吗?

显示视图后,计时器将需要失效。

谢谢

4

1 回答 1

3
float count_down = 5.0;
[NSTimer scheduledTimerWithTimeInterval: count_down*(1.0/3.0) target: self
                               selector: @selector(changeToRed:) userInfo: nil repeats: NO];
[NSTimer scheduledTimerWithTimeInterval: count_down*(2.0/3.0) target: self
                               selector: @selector(changeToGreen:) userInfo: nil repeats: NO];
[NSTimer scheduledTimerWithTimeInterval: count_down target: self
                               selector: @selector(changeToBlue:) userInfo: nil repeats: NO];

和回调(在那里做任何你想做的事):

-(void) changeToRed:(NSTimer*) t {
    NSLog(@"red");
}

-(void) changeToGreen:(NSTimer*) t {
    NSLog(@"green");
}

-(void) changeToBlue:(NSTimer*) t {
    NSLog(@"blue");
}
于 2011-02-25T16:07:54.133 回答