我有一个 IBAction 按钮,我想在 30 秒延迟后启用它。该按钮将在视图中但禁用 30 秒。
有谁知道我会怎么做?
这就是我所拥有的 - 一个播放一些音频的简单 IBAction:
-(IBAction) playSound:(id)sender {
[theAudio play];
}
我有一个 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 scheduleTimerWithTimeInterval:30 target:self 选择器:@selector(enableButton:) userInfo:nil repeats:NO];
然后,
- (void)enableButton:(NSTimer *)timer { [myButton setUserInteractionEnabled:TRUE]; }
注意:我没有编译代码,只是写了。可能有错别字。