7

在我的项目中,我有一个简单的动画,我只是将视图从左向右移动。这在 iOS 6 中运行良好,但是当我在 iOS 7 中运行时,它什么也没做。有人知道为什么吗?如果动画非常简单,我该如何为 iOS 7 解决这个问题?我的代码是:

- (void) showAnimation
 {
    if (IS_IPAD())
    {
       [UIView animateWithDuration:50.0f 
                             delay:1
                           options:UIViewAnimationOptionRepeat
                        animations:^{
                                         ViewBOLIVIA.frame = CGRectMake(1024,0,  ViewBOLIVIA.frame.size.width, ViewBOLIVIA.frame.size.height);
                                    } completion:nil];
    }
    else
    {
        if (IS_IPHONE_5)
        {
            [UIView animateWithDuration:50.0f 
                                  delay:1 
                                options:UIViewAnimationOptionRepeat 
                              animations:^{
                                               ViewBOLIVIA.frame = CGRectMake(568,0,  ViewBOLIVIA.frame.size.width, ViewBOLIVIA.frame.size.height);
                                          } completion:nil];
        }
        else
        {
             [UIView animateWithDuration:50.0f 
                                   delay:1 
                                 options:UIViewAnimationOptionRepeat
                              animations:^{
                                               ViewBOLIVIA.frame = CGRectMake(480,0,  ViewBOLIVIA.frame.size.width, ViewBOLIVIA.frame.size.height);
                                          } completion:nil];
        }
    }
 }

我确实更新并使用了 Xcode 5 和 iOS 7,所以任何帮助家伙,你知道如何解决这个问题吗?

4

2 回答 2

16

好的,我想我解决了。在 iOS 7 之前,可以在带有故事板的 viewDidLoad 中运行动画。如果您将动画调用移动到,- (void)viewDidAppear那么它们应该会重新开始工作。因此,在您的情况下,您将需要调用[self showAnimation];.- (void)viewDidAppear

- (void)viewDidAppear{
   [self showAnimation];
}
于 2013-09-26T11:45:50.597 回答
0

我发现将代码放在这种方法中是可行的。

-(void)viewDidAppear:(BOOL)animated {
    menuView.alpha = 0;
    topLabel.alpha = 0;
    [UIView animateWithDuration:1.5 animations:^{
       menuView.alpha = 1;
       topLabel.alpha = 1;
    }];
   [super viewDidAppear:animated];
 }
于 2014-07-11T04:51:13.243 回答