Отключение и задержка кнопки Ibaction
-
29-09-2019 - |
Вопрос
У меня есть кнопка 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]; }
Примечание: я не собрал код, просто написал. Там может быть опечатка.
Не связан с StackOverflow