0

嗨,我想做一个简单的计时器白色选择器和标签。

在我的应用程序进入后台之前一切正常,我不明白为什么?我忘记了什么?

这是我的 .m 中设置倒计时并计算它的部分

 - (void)tick {

//sottraiamo uno dal countdown
countdown--;

//controlliamo che il valore di countdown sia minore di zero
if (countdown < 0) {
    NSLog(@"controllo");

    //se è minore di zero allora il timer è finito
    //Incvochiamo l'azione playSound per suonare l'allarme
    [self playSound];

    //Invochiamo il metodo fermaIlTimer per fermare il timer
    [self fermaIlTimer];

    //Arrestiamo il codice
    return;

    //Inibisce lo standby
    [UIApplication sharedApplication].idleTimerDisabled = YES;
}



//Assegnamo alla proprietà text della UILabel la stringa restituita dal metodo formattazioneLabel
self.countdownLabel.text = [self formattazioneLabel];
 }





#pragma mark Azioni

//Impostiamo l'azione del pulsante newTime
- (IBAction)newTime:(id)sender {

    //controlliamo se sta andando e se si fermiamo il blocco di codice con il return
    if (isRunning) return;

    //Impostiamo il countdown con il metodo dateWithTimeIntervalSinceNow prendendo il tempo dal valore della ruota di selezione + 1
    countdown = [self getPickerTime];

    //Assegnamo alla proprietà text della UILabel la stringa restituita dal metodo formattazioneLabel
    self.countdownLabel.text = [self formattazioneLabel];
}

//Start
- (IBAction)start:(id)sender {

    if (isRunning == NO && isPlay == NO){


    //Impostiamo su si il booleano isRunning
    isRunning = YES;

    //Impostiamo il countdown con il metodo personalizzato
    countdown = [self getPickerTime];

    //Invochiamo il primo tick 
    [self tick];

    //Avviamo la data con il metodo scheduledTimerWithTimeInterval che ogni secondo invoca il metodo tick
    self.theTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(tick) userInfo:nil repeats:YES];

    //imposta la font di rosso
    self.countdownLabel.textColor = [UIColor redColor];

        //modifiche fondo

        fondo.image = [UIImage imageNamed: @"Bck_timerII.png"];
        myPicker.hidden = YES;
        copertura.hidden = YES;
        start.hidden = YES;
        stop.hidden = NO;
        pausa.hidden = NO;

        }

}
4

1 回答 1

0

你的线路 -

[UIApplication sharedApplication].idleTimerDisabled = YES;

永远不会执行,因为您有“回报”;在上一行。

于 2012-04-11T17:09:26.773 回答