0

私のアプリ プロジェクトでは、ボタンをタップして 5 秒待った後、UILabel と UIImageView が表示されるようにしたいと考えています。これが私がこれまでに持っているものです:

- (IBAction)startTimer
{
    responseBox.placeholder = @"Message Here";
    timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(timerStop) userInfo:nil repeats:YES];
    mainInt +=1;
}

- (void)timerStop
{
    if (mainInt == 5)
    {
        [timer invalidate];
        titleLabel.hidden = NO;
        messageLabel.hidden = NO;
        messageLabel.text = @"Message";
        image.hidden = NO;
    }
}

すべてが正しくリンクされています。何が起こっているのですか?

4

1 に答える 1

1

mainIntstartTimerボタンを押したときにのみインクリメントされるため、 timerStop. mainIntまた、正しくインクリメントしたい場合は、mainInt++;

これを試して:

- (IBAction)startTimer
{
    responseBox.placeholder = @"Message Here";
    timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(timerStop) userInfo:nil repeats:YES];
    mainInt++;
}

- (void)timerStop
{
    [timer invalidate];
    titleLabel.hidden = NO;
    messageLabel.hidden = NO;
    messageLabel.text = @"Message";
    image.hidden = NO;
}
于 2012-06-30T00:09:46.710 に答える