iOS - animate movement of a label or image

后端 未结 3 1541
南笙
南笙 2020-12-31 08:46

How can I animate the movement of a label or image? I would just like to make a slow transition from one location on the screen to another (nothing fancy).

相关标签:
3条回答
  • 2020-12-31 09:10

    For ios4 and later you should not use beginAnimations:context and commitAnimations, as these are discouraged in the documentation.

    Instead you should use one of the block-based methods.

    The above example would then look like this:

    [UIView animateWithDuration:0.3 animations:^{  // animate the following:
        myLabel.frame = newRect; // move to new location
    }]; 
    
    0 讨论(0)
  • 2020-12-31 09:11

    Here is an example with a UILabel - the animation slides the label from the left in 0.3 seconds.

    // Save the original configuration. 
    CGRect initialFrame = label.frame;
    
    // Displace the label so it's hidden outside of the screen before animation starts.
    CGRect displacedFrame = initialFrame;
    displacedFrame.origin.x = -100;
    label.frame = displacedFrame;
    
    // Restore label's initial position during animation. 
    [UIView animateWithDuration:0.3 animations:^{
        label.frame = initialFrame;
    }];
    
    0 讨论(0)
  • 2020-12-31 09:22

    You're looking for the -beginAnimations:context: and -commitAnimations methods on UIView.

    In a nutshell, you do something like:

    [UIView beginAnimations:nil context:NULL]; // animate the following:
    myLabel.frame = newRect; // move to new location
    [UIView setAnimationDuration:0.3];
    [UIView commitAnimations];
    
    0 讨论(0)
提交回复
热议问题