代码之家  ›  专栏  ›  技术社区  ›  Nippysaurus

iOS-标签或图像的动画移动

  •  13
  • Nippysaurus  · 技术社区  · 14 年前

    如何设置标签或图像的移动动画?我只想从屏幕上的一个位置到另一个位置进行缓慢的转换(没什么好奇心)。

    3 回复  |  直到 8 年前
        1
  •  12
  •   a paid nerd    13 年前

    你在找 -beginAnimations:context: -commitAnimations 方法对 UIView .

    简而言之,你做的事情如下:

    [UIView beginAnimations:nil context:NULL]; // animate the following:
    myLabel.frame = newRect; // move to new location
    [UIView setAnimationDuration:0.3];
    [UIView commitAnimations];
    
        2
  •  13
  •   Bhavin Ramani Anubrata Santra    8 年前

    对于ios4及以后的版本,不应使用 beginAnimations:context commitAnimations ,因为在 documentation .

    相反,您应该使用基于块的方法之一。

    上面的示例如下所示:

    [UIView animateWithDuration:0.3 animations:^{  // animate the following:
        myLabel.frame = newRect; // move to new location
    }]; 
    
        3
  •  3
  •   Zorayr    10 年前

    下面是一个例子 UILabel -动画将在0.3秒内从左侧滑动标签。

    // 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;
    }];