【发布时间】:2014-07-17 05:10:56
【问题描述】:
我是 IOS 开发新手,在我的项目中使用核心动画。我希望我的 UIVIew 默认在主视图之外,并在条件下为它们设置动画。当我在按钮方法中调用它时,它工作得很好,但是当我在 viewdidload 中调用它时,程序启动时什么也没有发生。
其次,我想在我的项目中多次执行此动画 像这样:1 从右侧(屏幕外)向左(屏幕上某处)设置动画,然后是它们下方的 1 和 2,然后是 1 2 和 3,最后是 1 2 3和4.谁能指导我如何做到这一点?请帮忙
//1
//1 2
//1 2 3
//1 2 3 4
- (void)viewDidLoad
{
[super viewDidLoad];
[self animate];
}
-(IBAction)move:(id)sender
{
[self animate];
}
-(void) animate {
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationRepeatCount:1];
[UIView setAnimationRepeatAutoreverses:YES];
CGPoint pos;
pos.x = 241.0f;
pos.y = 20.0f;
mover.center = pos;
[UIView commitAnimations];
}
【问题讨论】:
-
viewDidLoad 太早,可以在 viewWillAppear 方法中调用。
-
尝试从
- (void)viewDidAppear:(BOOL)animated方法调用animate方法并使用基于块的动画方法进行动画 -
@Shan ViewDidAppear 工作得非常好 :) 谢谢各位...你能在我的第二期中指导我吗...
-
@NasirKhan 我认为此链接将帮助您解决动画问题。 stackoverflow.com/questions/7840261/…
-
@Student 让我试试这些东西...到时候会告诉你...
标签: ios objective-c animation uiview core-animation