30 秒後に有効にしたい IBAction ボタンがあります。ボタンは表示されますが、30 秒間無効になります。
私がこれを行う方法を知っている人はいますか?
これが私が持っているものです-いくつかのオーディオを再生する単純な IBAction:
-(IBAction) playSound:(id)sender {
[theAudio play];
}
30 秒後に有効にしたい IBAction ボタンがあります。ボタンは表示されますが、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 scheduleTimerWithTimeInterval:30 target:self selector:@selector(enableButton:) userInfo:nil repeats:NO];
それで、
- (void)enableButton:(NSTimer *)timer {
[myButton setUserInteractionEnabled:TRUE];
}
注:コードをコンパイルしていません。書いただけです。タイプミスがあるかもしれません。