Estoy tratando de animar un botón personalizado utilizando CGAffineTransformMakeScale de la siguiente manera:

if (stateButton == 0) { //The button is gonna appear

    self.selected = YES;

    self.imageView.transform = CGAffineTransformMakeScale(0.01, 0.01);

    [UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
        //animate it to the identity transform (100% scale)
        self.imageView.transform = CGAffineTransformIdentity;
    } completion:nil];

}
else if (stateButton ==1) { //The button is gonna disappear


    self.imageView.transform = CGAffineTransformMakeScale(1, 1);

    [UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseOut animations:^{
        //decrease button
        self.imageView.transform = CGAffineTransformMakeScale(.01, .01);
    } completion:^(BOOL finished){

        self.selected = NO;
    }];
}   

El botón crece perfectamente al tamaño original, sin embargo, no sé la razón, pero cuando hago clic en el botón para disminuir, disminuye a partir de un tamaño como el 100% más grande que el tamaño original al tamaño original, en lugar de comienzo de la disminución en el tamaño original y lograr una escala de 0,01 como he indicado en el código.

Por favor ayuda!!

OriginalEl autor user1708257 | 2013-10-08

2 Comentarios

  1. 28

    Puede animar el crecimiento y disminuir el tamaño de la imagen de la vista usando el siguiente código

    [UIView animateWithDuration:2.0 animations:^{
        self.imageView.transform = CGAffineTransformMakeScale(0.5, 0.5);
    } 
    completion:^(BOOL finished){
        [UIView animateWithDuration:2.0 animations:^{
            self.imageView.transform = CGAffineTransformMakeScale(1, 1);    
        }];
    }];

    Esto hará que el imageview disminución en el tamaño inicialmente y cuando la animación se va a volver a su tamaño original con una animación.

    Impresionante queridos !!!

    OriginalEl autor Geekoder

  2. 12

    SWIFT 3 Versión

    UIView.animate(withDuration: 2.0, animations: {() -> Void in
        self.imageView?.transform = CGAffineTransform(scaleX: 0.5, y: 0.5)
    }, completion: {(_ finished: Bool) -> Void in
        UIView.animate(withDuration: 2.0, animations: {() -> Void in
            self.imageView?.transform = CGAffineTransform(scaleX: 1, y: 1)
        })
    })

    OriginalEl autor Oscar

Dejar respuesta

Please enter your comment!
Please enter your name here