Iphone 如何再次触发uiview动画工作

Iphone 如何再次触发uiview动画工作,iphone,ios,xcode,animation,Iphone,Ios,Xcode,Animation,我有一个在iPad应用程序主菜单屏幕上运行的动画。 选择某个菜单项时,应用程序会将新视图推送到导航控制器。 当我想在按下后退按钮并再次返回主菜单的瞬间再次重新启动动画时,就会出现问题 我尝试将动画代码放在以下方法中: -(void) viewDidLoad -(void) viewDidAppear 但是我不能让他们工作 我想做的是在背景中制作公司标志的动画 我的代码是: [UIView beginAnimations:nil context:NULL]; [UIView set

我有一个在iPad应用程序主菜单屏幕上运行的动画。 选择某个菜单项时,应用程序会将新视图推送到导航控制器。 当我想在按下后退按钮并再次返回主菜单的瞬间再次重新启动动画时,就会出现问题

我尝试将动画代码放在以下方法中:

-(void) viewDidLoad  

-(void) viewDidAppear
但是我不能让他们工作

我想做的是在背景中制作公司标志的动画

我的代码是:

[UIView beginAnimations:nil context:NULL];    
[UIView setAnimationDuration:15.0];
[UIView setAnimationRepeatCount:20.0f];
[UIView setAnimationRepeatAutoreverses:YES];

CGPoint pos = large_bright.center; 
pos.x = 400.0f;
large_bright.center = pos;
CGPoint pos2 = large_dim.center; 
pos2.x = -10.0;
large_dim.center = pos2;
[UIView commitAnimations];

从viewDidLoad和ViewDidDisplay.调用其他函数,然后在该函数中添加动画代码

-(void) viewDidLoad
{
   [self add_animation];
}
-(void)animation
{
   //your animation code
}
尝试:

你应该打电话

  • (void)视图将显示:(BOOL)动画
显示一些您尝试过的代码。这个问题理解起来不准确,请澄清清楚我假设你的菜单是一个带有自己视图控制器的全屏视图?您试图在哪些对象上执行哪些动画?您只是试图设置菜单视图的动画,还是设置非菜单主视图中的子视图的动画?我们需要更多信息来更好地帮助您!我正试图在背景中制作一些公司的标志动画。代码现在有问题。请尝试将repeatcount设置为0,并尝试取消ViewWillEnglishe方法上的动画。某些代码可能会出现,但不知道具体情况。我尝试了,但我无法做到。实际上,在视图出现之前,您不应该制作动画。因此,在视图控制器的生命周期中,可以制作动画的最早时间是ViewDidDisplay。否则,您将收到等待围栏警告。这是有原因的。@George抱歉,我不能理解。请解释。假设您正在一个名为V的视图上制作动画。该视图属于名为MyViewController的视图控制器。如果MyViewController当前未完全显示(也就是尚未调用ViewDidDisplay),则尝试执行动画的事实将抛出警告。看看这个:我认为这不是一个好主意。你可以,但不应该手动调用应用程序的生命周期方法。我认为这个模块不适合我的具体情况。
[UIView animateWithDuration:1.0 // set here how fast u want it to animate
                 animations:^{ 
                     // add your needed animation here

                 } 
                 completion:^(BOOL finished) {  
                     // do some stuff when its done if you need to
                 }    
 ];