1

30 秒後に有効にしたい IBAction ボタンがあります。ボタンは表示されますが、30 秒間無効になります。

私がこれを行う方法を知っている人はいますか?

これが私が持っているものです-いくつかのオーディオを再生する単純な IBAction:

-(IBAction) playSound:(id)sender {

    [theAudio play];

}
4

2 に答える 2

4

これを使用できます:

- (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;
}

ボタンが押されたときにボタンを無効にしたいとします。

于 2010-10-11T16:35:05.430 に答える
1

viewDidLoad または必要な他の適切なメソッドで:

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

それで、

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

注:コードをコンパイルしていません。書いただけです。タイプミスがあるかもしれません。

于 2010-10-11T16:30:40.930 に答える