动画在iOS6中运行,在iOS5中运行

时间:2012-11-27 12:31:59

标签: objective-c ios ios5 animation ios6

我一直试图深究这一点,它逃脱了我。当用户按下它时,我想要一些按钮。但我不想隐藏它们,而是想要一个动画。我正在缩小它们的尺寸,然后缩小到针头,同时也逐渐消失。

我实际上在iOS6中有这个工作,但我想我会在iOS5.1的模拟器和我的iPad1上运行它。这两个都使按钮动画错误。它在增长,但似乎在屏幕上爆炸成另一个维度。

#pragma mark - animations
-(void)grow:(UIButton *)button {

    void (^makeItGrow)(void)= ^{
        button.transform = CGAffineTransformScale(button.transform,1.6, 1.6);
    };

    void (^whenFinished)(BOOL) =
    ^(BOOL finished) {
        if (finished) {
            [self shrink:button];
        }
    };

    [UIView animateWithDuration:1 animations:makeItGrow completion:whenFinished];

}

-(void)shrink:(UIButton *)button {
    void (^makeItShrink)(void)= ^{

        button.transform = CGAffineTransformScale(button.transform, 0.0, 0.0);
        button.alpha = 0.0;
    };

    void (^whenFinished)(BOOL) =
    ^(BOOL finished) {
        if (finished) {
            //NSLog(@"shrink finished");
            [button setHidden:YES];
            [self resetButton:button];
        }
    };

    [UIView animateWithDuration:3 animations:makeItShrink completion:whenFinished];
}

我放慢了动画的速度,所以我可以看得更清楚。第一部分按原样应用,但第二部分(收缩)要么碎片进入屏幕(你必须看到它,它看起来确实很酷),或者它只是继续在屏幕外生长!当然不是你想要的。

是的,我还在学习,我可能会对我的编码风格有所了解: - )

1 个答案:

答案 0 :(得分:6)

尝试设置非常低但不等于零的比例因子。

button.transform = CGAffineTransformScale(button.transform, 0.0001, 0.0001);