Uiview 切换选项卡后iOS重新启动动画

Uiview 切换选项卡后iOS重新启动动画,uiview,ios6,core-animation,Uiview,Ios6,Core Animation,在文章中,作者说我们可以在切换视图中的选项卡后重新启动动画 我在viewwillbeen和viewdidebeen中调用了我的startAnimation,但仍然失败 下面是我代码的一部分 - (void)startAnimation { [UIView setAnimationsEnabled:YES]; [UIView animateWithDuration:0.5f delay:0.0f options:UIViewAnima

在文章中,作者说我们可以在切换
视图中的选项卡后重新启动动画

我在
viewwillbeen
viewdidebeen
中调用了我的
startAnimation
,但仍然失败

下面是我代码的一部分

- (void)startAnimation {
    [UIView setAnimationsEnabled:YES];
    [UIView animateWithDuration:0.5f
            delay:0.0f
            options:UIViewAnimationOptionAutoreverse|UIViewAnimationOptionRepeat
            animations:^(void){
                self.foreground.transform = CGAffineTransformMakeTranslation(0.0f, 5.0f);
            }
            completion:nil];
}
通过在
viewDidLoad
中调用
startAnimation
首次显示动画时,动画效果非常好,但切换到其他选项卡后,动画永远不会工作

在应用程序从后台重新启动后,它也不起作用,即使我已注册了
UIApplicationWillEnterForegroundNotification
的观察员,用于
startAnimation


请帮助我,我是iOS开发新手,非常感谢。

只有在首次加载视图控制器时才会调用viewDidLoad方法

如果希望在从其他视图控制器返回到此视图控制器时运行动画,则应调用ViewWillDisplay中的动画方法,而不是viewDidLoad

要使动画返回到其先前的值,然后再次设置动画,首先将视图的变换设置为标识(将其设置为起点),然后调用animationWithDuration方法


您可能会发现设置视图的frame.origin或center属性的动画比更改变换更容易。当将平移与旋转、缩放更改等组合在一起时,更改变换会变得复杂。此外,当变换属性不是==标识变换时,“帧”属性不再有效。

我真的不明白你在说什么。。。正如我所说,我已经在
视图中调用了我的
startAnimation
。我想知道为什么它不起作用。我终于明白了你所说的“将你的观点转换为身份”的意思。对于那些也不理解的人,我添加了
self.foreground.transform=CGAffineTransformity
开始动画的开头
。这是动画工作的必要条件。谢谢黄毅,你的第二次评论为我解决了这个问题。