Вопрос

У меня есть кнопка IBAction, которую я хотел бы включить после 30 -секундной задержки. Кнопка будет в виде, но отключена в течение 30 секунд.

Кто -нибудь знает, как я бы это сделал?

Вот что у меня есть - простой ibaction, который играет немного звука:

-(IBAction) playSound:(id)sender {

    [theAudio play];

}
Это было полезно?

Решение

Вы можете использовать это:

- (IBAction)playSound:(id)sender
{
    [theAudio play];
    UIButton *theButton = (UIButton *) sender;
    theButton.enabled = NO;
    [self performSelector:@selector(enableButton:) withObject:theButton afterDelay:30.0];
}

- (void)enableButton:(UIButton *)button
{
    button.enabled = YES;
}

Предполагая, что вы хотите отключить кнопку, когда она нажимается.

Другие советы

В ViewDidLoad или другой подходящий метод, который вы хотите:

[myButton setUserInteractionEnabled:FALSE];
[NSTimer scheduledTimerWithTimeInterval:30 target:self selector:@selector(enableButton:) userInfo:nil repeats:NO];

Затем,

- (void)enableButton:(NSTimer *)timer {
    [myButton setUserInteractionEnabled:TRUE];
}

Примечание: я не собрал код, просто написал. Там может быть опечатка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top