如何设置标签或图像的移动动画?我只是想从屏幕上的一个位置慢慢过渡到另一个位置(没什么特别的)。
答案 0 :(得分:13)
对于ios4及更高版本,您不应使用beginAnimations:context
和commitAnimations
,因为documentation不鼓励使用[UIView animateWithDuration:0.3 animations:^{ // animate the following:
myLabel.frame = newRect; // move to new location
}];
。
相反,您应该使用其中一种基于块的方法。
上面的例子如下所示:
{{1}}
答案 1 :(得分:12)
您正在寻找UIView上的-beginAnimations:context:
和-commitAnimations
方法。
简而言之,您可以这样做:
[UIView beginAnimations:nil context:NULL]; // animate the following:
myLabel.frame = newRect; // move to new location
[UIView setAnimationDuration:0.3];
[UIView commitAnimations];
答案 2 :(得分:3)
以下是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;
}];