0

私のプロジェクトにはボタンとラベルがあります。ボタンをクリックした後、ラベルにNSTimer値を表示するを開始する必要があります。たとえば、1秒です。タイマーが値を返すかどうかわかりません。これを行う他の方法はありますか?

4

2 に答える 2

0
    NSTimer *aTimer = [NSTimer timerWithTimeInterval:(1) target:self selector:@selector(timerFired:) userInfo:nil repeats:YES];
        NSRunLoop *runner = [NSRunLoop currentRunLoop];
        [runner addTimer:aTimer forMode: NSDefaultRunLoopMode]; 
int i=0;

    - (void)timerFired:(NSTimer*)theTimer 
    {

    if(condition)
    {
    // timer repeat
    // your actions
     i++;
        int conseconds = i % 60; 
        int conminutes = (i / 60) % 60; 

        timelable.text=[NSString stringWithFormat:@"%02d:%02d", conminutes,conseconds];
    [theTimer isValid];
    }
    else
    {
    // your actions
    //timer stopped
    [theTimer invalidate];
    }
    }
于 2012-12-31T05:02:34.443 に答える
0

ボタンクリックの機能で

{
      NSTimer *t;
      t=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(showTimer) userInfo:nil repeats:YES];
}

showTimer 関数で

-(void)showTimer{
    static int i=0;
    static int min=0;

    if(i>=59){
        i=0;
        min++;
    } else {
        i++;
    }

    yourLabel.text=[NSString stringWithFormat:@" %d:%d ",min,i];
}
于 2012-12-31T04:51:18.803 に答える