我正在开发一款非常简单的 iPhone 游戏,该游戏涉及根据随机语音提示连续多次选择正确的彩色按钮。我已经设置好了,如果按钮是一种颜色并被点击,它总是每次都变成硬编码的颜色(例如,如果你点击红色,它总是变成蓝色)。颜色更改方法在 IBOutlet 中设置。我在 while 循环中设置了一个计时器,当计时器结束时,它会检查玩家是否做出了正确的选择。问题是直到计时器用完后按钮颜色才会发生变化,这会导致用于检查正确答案的方法出现问题。有没有办法让这种颜色变化立即发生?根据我的搜索,我知道这与故事板动作有关,直到代码执行后才发生,但我没有 使用计时器找不到任何东西。如果答案正确,这是调用计时器的方法的一部分:
BOOL rightChoice = true;
int colorNum;
NSDate *startTime;
NSTimeInterval elapsed;
colorNum = [self randomizeNum:middle];
[self setTextLabel:colorNum];
while (rightChoice){
elapsed = 0.0;
startTime = [NSDate date];
while (elapsed < 2.0){
elapsed = [startTime timeIntervalSinceNow] * -1.0;
NSLog(@"elapsed time%f", elapsed);
}
rightChoice = [self correctChoice:middleStatus :colorNum];
colorNum = [self randomizeNum:middle];
}