在触发的方法运行时隐藏按钮

时间:2014-03-03 21:07:42

标签: objective-c uibutton xcode5

我有一个触发方法的按钮。此方法显示图像(由计时器隔开)并在显示一定数量的图像后停止。因此,按下按钮后需要隐藏,因此无法再次按下按钮并跳过无限循环。我会接受任何用于实现这一目标的技术,这种技术并不能完全破坏效率。

这是我的尝试:

-(IBAction)spinButton:(id)sender {
 //hide spin button after press
 spinButton.hidden = YES;
// The count starts at 0, so initialize "count" to 0.
count = 0;
// Use an NSTimer to call displayPic: repeatedly every 1 second ("repeats" is set to "YES")
[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(displayPic:) userInfo:nil repeats:YES];
//show button after method has fully executed
spinButton.hidden = NO;

我无法使用上面提供的代码让按钮消失。注意:如果我遗漏了最后一行(spinButton.hidden = NO;),按下第一次按钮时按钮就会消失,而且永远不会恢复。

2 个答案:

答案 0 :(得分:2)

你不应该只将spinButton.hidden=NO移到displayPic(在检查计数足够高的情况下吗?)

答案 1 :(得分:0)

您正在隐藏按钮并再次取消隐藏它。视图永远不会在两者之间更新,即使是方法将在几毫秒内执行,因此您将无法看到它。您可能希望将最后一行移动到另一个方法,例如你的displayPic:方法。