我在Xcode中有一个游戏,在白色背景上有几个UIButton。当用户单击正确的按钮时,我将背景从白色更改为蓝绿色(动画)。我希望允许用户在背景颜色改变的同时继续点击,但看起来直到bg颜色动画运行完毕后才能访问按钮。 有没有办法解决它并将注意力集中在按钮上?背景动画可以在后台进行,与游戏的其余部分无关吗?
提前感谢您对理解这一点的任何帮助。 这是我的代码:
[UIView animateWithDuration:0.3f
animations:^{
self.view.backgroundColor = [UIColor colorWithRed:0.1f green:0.15f blue:0.05f alpha:1.0f];
}
completion:^(BOOL finished){
[UIView animateWithDuration:0.3f
animations:^{
self.view.backgroundColor = [UIColor colorWithRed:1.0f green:1.0 blue:1.0 alpha:1.0f];
}
];
}
];
之前单独的方法添加了所有UIButtons
UIButton *btnI;
[self.view addSubview:btnI];
答案 0 :(得分:2)
您可以将动画方法与options:
一起使用>>> print("{0}{1:27}{2:39.4f}{3:51.4f}".format('a', 'b', 1.234567, 9.876543))
ab 1.2346 9.8765
使用 UIViewAnimationOptionAllowUserInteraction 选项。
+ animateWithDuration:delay:options:animations:completion:
答案 1 :(得分:-1)
使用
dispatch_async(backgroundQueue, {
//change the background colour here
})