动画2个按钮同时具有相同的值,多​​次

时间:2015-05-06 19:52:07

标签: objective-c animation for-loop

我有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循环不起作用

1 个答案:

答案 0 :(得分:0)

它现在有效,我想到它,它是i + = 2,j + = 2,因为每个2个按钮,值必须增加2(0 + 1 - > 2 + 3 - &gt; ; 4 + 5 ......),哈哈:D