Soy nuevo en Xcode y Objectice C y sería preciate algo de ayuda con mi aplicación. Quiero añadir una traducción de animación a un botón. Cuál sería el código para, por ejemplo, mover el «botón» de X:30 Y:50 a X:10 Y:70? Gracias :).

2 Comentarios

  1. 12

    Para la edad de los compiladores/iOSes:

    //set the original frame
    button.frame = CGRectMake(30, 50, 100, 100);
    
    //animate to the new one
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.75];
    button.frame = CGRectMake(10, 70, 100, 100);
    [UIView commitAnimations];

    Para los nuevos compiladores/iOSes:

    //set the original frame
    button.frame = CGRectMake(30, 50, 100, 100);
    
    //animate
    [UIView animateWithDuration:0.75 animations:^{
        button.frame = CGRectMake(10, 70, 100, 100);
    }];
    • esta sería la mejor opción
    • Le ruego que retire su respuesta, es realmente una mala idea para hacer.
    • todo correcto, he eliminado. ¿Conoce usted a cualquier lugar donde pudiera aprender más acerca de esto?
    • mi mejor fuente siempre permanece developer.apple.com. En concreto, para buscar UIKit marco de referencia. También dar CoreAnimation y CoreGraphics una vaya.
    • Todo a la derecha. Gracias!
    • Buena respuesta de @H2CO3, yo no tenía ni idea de que se ha añadido un nuevo método para hacer una animación, ¿qué versión de iOS hizo que se inician en?
    • eres bienvenido 🙂
    • iOS 4, si mal no recuerdo.
    • gracias! yo uso la segunda manera. Realmente apreciar! 🙂

  2. 0

    UIView (un super clase de UIButton) tiene la capacidad de ser animada, usar algo como la siguiente.

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:2];
    CGAffineTransform transform = CGAffineTransformMakeTranslation(-20, 20);
    [aButton setTransform:transform];
    [UIView commitAnimations];
    • También tenga en cuenta que el contexto no tiene que ser un objeto como es declarado como void *. Debe ser NULL.

Dejar respuesta

Please enter your comment!
Please enter your name here