【发布时间】:2017-03-14 18:59:45
【问题描述】:
我有一个图像视图,我放在一个圆圈的视图控制器上。
我想从屏幕外开始该圈子并将其移动到我放置的位置。
制作动画的最佳方式是什么?
【问题讨论】:
标签: ios objective-c animation
我有一个图像视图,我放在一个圆圈的视图控制器上。
我想从屏幕外开始该圈子并将其移动到我放置的位置。
制作动画的最佳方式是什么?
【问题讨论】:
标签: ios objective-c animation
试试这个;
-(void)viewWillAppear {
[UIView animateWithDuration:5
delay:5
options:UIViewAnimationOptionCurveEaseOut
animations:^{
CGRect frame = view.frame;
frame.origin.y = self.view.frame.size.height-200;
frame.origin.x = 0;
view.frame = frame;
}completion:^(BOOL finished) {}];
}
许多动画选项的 [UIViewAnimationOptions]
UIViewAnimationOptionCurveEaseInOut,
UIViewAnimationOptionCurveLinear,
UIViewAnimationOptionTransitionFlipFromLeft,
UIViewAnimationOptionTransitionCurlUp,
UIViewAnimationOptionTransitionCrossDissolve,
UIViewAnimationOptionTransitionFlipFromTop..
【讨论】:
您想在屏幕外创建图像视图。如果您以这种方式在 Interface Builder 中进行设置,则最简单。您可以在屏幕上创建它,添加约束以将其放置在目标位置,记下值,然后更改约束的常量,以便将视图移出屏幕。
然后控制拖拽约束到你的视图控制器并创建一个出口。
要在屏幕上为图像视图设置动画,请将约束的常量值更改为上面提到的“屏幕上”值,然后从 UIView animateWithDuration 块内对视图调用 layoutIfNeeded()。
如果要在代码中添加图像视图,则需要将其添加到屏幕外,将其添加为子视图,然后触发 UIView 动画将其移回屏幕上。您可能还应该使用上述约束进行定位,尽管它变得更加复杂,因为您必须在代码中创建这些约束。
【讨论】: