objective-c - 让动画等待 1 秒 – Objective-c

标签 objective-c cocoa-touch

我正在开发一个带有 6 个 UIButtons 的内存游戏,当它们被触摸时,它们会改变背景图像。我检查其中两个录音是否与 bool 值相同。我有 6 个不同的按钮,每个按钮操作都设置为"is"。

如果第一个 BOOL 不等于第二个 BOOL,那么它们应该改回原来的背景图像。我的问题是,当直接单击第二个按钮时,两个按钮都会发生变化。我希望在更改之前看到第二个按钮的图像。这是我的代码:

- (void)buttonClicked:(id)sender
{
buttonClickedBOOL = YES;

[animation stuff....]
if (randomNumberi == 0)
{
    [button setBackgroundImage:[UIImage imageNamed:@"apple.png"] forState:UIControlStateNormal];
}
else if (randomNumberi == 1)
{
    [button setBackgroundImage:[UIImage imageNamed:@"windows_logo.png"] forState:UIControlStateNormal];
}
else if (randomNumberi == 2)
{
    [button setBackgroundImage:[UIImage imageNamed:@"fujitsu.png"] forState:UIControlStateNormal];
}
[UIView commitAnimations];

[self gameCheck];
}

这是我检查条件的地方:

- (void)gameCheck
{
if ((buttonClickedBOOL == YES) && (button2ClickedBOOL == YES))
{
    button.enabled = NO;
    button2.enabled = NO;
    button3.enabled = NO;
    button4.enabled = NO;
    button5.enabled = NO;
    button6.enabled = NO;

    if (randomNumberi == randomNumberi2)
    {
        NSLog(@"The same");
    }
    else
    {
        [animations stuff....]
        [button setBackgroundImage:nil forState:UIControlStateNormal];
        [UIView commitAnimations];

        [animations stuff....]
        [button2 setBackgroundImage:nil forState:UIControlStateNormal];
        [UIView commitAnimations];
    }

}

随机变量在 viewDidLoad 中设置为整数 0-3,并表示应设置哪些图像。

最佳答案

用不同的方法定义动画代码并按如下方式调用:

[self performSelector:@selector(yourAnimatingMethod) withObject:nil afterDelay:1.0];

关于objective-c - 让动画等待 1 秒 – Objective-c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16523037/

相关文章:

ios - 在一个公共(public) View Controller 中显示另一个 View Controller ,如滑动菜单

ios - 文本字段中的默认文本

ios - 区 block 完成状态验证

ios - autoResizingMask 和动画

iphone - 如何创建自定义 UIAlertView

objective-c - 将 NSString 与 AVAudioPlayer 一起使用

iphone - 如何连续旋转 UIButton 并能够停止它?

objective-c - 为什么我的应用程序崩溃并出现以下错误?

iOS:使用 xib 的自定义 View

iphone - 计算足够的文本以适应现有的 UILabel