我有4-18个按钮。它们中的每一个都有相同的值,写在我的finishedButtons数组中(值0 + 1 =等于,值2 + 3 =等等等)
我现在想要的是,具有相同值的按钮会闪烁(方法flip3)和淡出(alpha = 0)。
这是我的代码:
-(void) checkGameFinished {
if ([self.gameModel isGameOver]) {
// int i=0;
// int j=1;
// for (i = 0, j = 1; j < [self.finishedButtons count]; i++, j++) {
ButtonView *cv1 = (ButtonView *) self.finishedButtons[0];
buttonView *cv2 = (ButtonView *) self.finishedButtons[1];
[CATransaction begin]; {
[CATransaction setCompletionBlock:^{
self.boardView.userInteractionEnabled = YES;
}];
[UIView transitionWithView:cv1
duration:.6
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{ [cv1 flip3]; }
completion:^(BOOL finished) {
[UIView animateWithDuration:.2
animations:^{
((ButtonView *) self.finishedButtons[0]).alpha = 0;}
completion:^(BOOL finished) {
}];
}];
[UIView transitionWithView:cv2
duration:.6
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{ [cv2 flip3]; }
completion:^(BOOL finished) {
[UIView animateWithDuration:.2
animations:^{
((ButtonView *) self.finishedButtons[1]).alpha = 0;}
completion:^(BOOL finished) {
}];
}];
} [CATransaction commit];
// }
当我像现在一样使用它时,它工作正常。但仅适用于前2个按钮。当我写同一个函数时,另一个时间值2 + 3,2 + 3不会同时动画。
另外,我不知道每次,我的阵列中有多少按钮(4-18)。
所以我想,我用for循环制作它,但它不能正常工作,所以我评论了它。 (//)
感谢您的帮助!
编辑:如果我再次写相同的代码,延迟之间,一切正常。但我的问题仍然存在,我不知道有多少按钮......以及为什么我的for循环不起作用
答案 0 :(得分:0)
它现在有效,我想到它,它是i + = 2,j + = 2,因为每个2个按钮,值必须增加2(0 + 1 - > 2 + 3 - &gt; ; 4 + 5 ......),哈哈:D