我有一个imageview,我把它放在一个圆圈的视图控制器上。
我想从屏幕外开始播放该圆圈并将其移至我已放置的位置。
制作动画的最佳方式是什么?
答案 0 :(得分:1)
试试这个;
-(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..
答案 1 :(得分:0)
您想要在屏幕外创建图像视图。如果您在Interface Builder中以这种方式设置它是最简单的。您可以在屏幕上创建它,添加约束以将其放置在目标位置,记下值,然后更改约束的常量,以便将视图移出屏幕。
然后控制 - 将约束拖动到视图控制器中并为其创建一个插座。
要在屏幕上为图像视图设置动画,请将约束的常量值更改为上面提到的“屏幕上”值,然后从UIView animateWithDuration块内部调用视图上的layoutIfNeeded()
。
如果要在代码中添加图像视图,则需要将其添加到屏幕外,将其添加为子视图,然后触发UIView动画将其移回屏幕。您应该也可以使用上面列出的约束进行定位,尽管它变得更复杂,因为您必须在代码中创建这些约束。