我有一个IBAction按钮,我希望在延迟30秒后启用它。按钮将在视图中,但禁用30秒。
有谁知道我会怎么做呢?
这就是我所拥有的 - 一个播放音频的简单IBAction:
-(IBAction) playSound:(id)sender {
[theAudio play];
}
答案 0 :(得分: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;
}
假设您想要在按下按钮时禁用该按钮。
答案 1 :(得分:1)
在viewDidLoad或您想要的其他合适方法中:
[myButton setUserInteractionEnabled:FALSE]; [NSTimer scheduledTimerWithTimeInterval:30 target:self selector:@selector(enableButton:) userInfo:nil repeats:NO];
然后,
- (void)enableButton:(NSTimer *)timer { [myButton setUserInteractionEnabled:TRUE]; }
注意:我没有编译代码,只是写了。可能有拼写错误。