我有一个stopclock app,希望startCountButton
按钮在最初按下时被禁用,然后按下stopCountButton
按钮再次启用它以便启动按钮只能按一次。这是我的代码
- (IBAction)startCount:(UIButton*)sender {
countInt = 0;
self.label.text = [NSString stringWithFormat:@"%i", countInt];
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countTimer) userInfo:nil repeats:YES];
}
- (IBAction)stopCount:(UIButton*)sender {
countInt = 0;
[timer invalidate];
}
-(void)countTimer {
countInt += 1;
self.label.text = [NSString stringWithFormat:@"%i", countInt];
}
我需要添加哪些帮助?我不打算改变文本,只是禁用它
答案 0 :(得分:5)
首先,您需要对按钮的引用。然后,将以下代码添加到startCount:
:
((UIButton *)sender).enabled = NO
并在stopCount:
添加:
startCountButton.enabled = YES
答案 1 :(得分:1)
startCount:
和stopCount:
都接受UIButton
作为参数,但我对如何调用第二个参数感到困惑。
如果要禁用的按钮调用startCount:
,则可以写下:
sender.enabled = NO;
但是stopCount:
很棘手,因为很明显它不能被按钮调用,因为它刚刚被禁用。如果从另一个按钮调用stopCount:
(我猜它必须是这样),那么你必须存储对第一个按钮的引用才能重新启用它。然后你可以这样做:
self.disabledButton.enabled = YES;
答案 2 :(得分:0)
如果enable
适当,您可以启用/禁用按钮:
startCountButton.enabled = NO