UIView核心动画无法在viewdidLoad方法中工作?

时间:2014-07-17 05:10:57

标签: ios objective-c animation uiview core-animation

我是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];

}

2 个答案:

答案 0 :(得分:0)

请尝试调用 [self animate]; 此方法在1秒延迟视图时加载。

答案 1 :(得分:0)

试试这个......

dispatch_async(dispatch_get_main_queue(),^ {

    [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];

});