2013-09-23 4 views
7

私のプロジェクトではシンプルなアニメーションがあり、ビューを左から右に移動します。これはiOS 6でもうまく動作しますが、iOS 7で動作しても何もしません。なぜ誰かが知っていますか?アニメーションが非常にシンプルなら、どのように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を使用して更新し、イムをした、あなたがこの問題を解決する方法を知っていますか?

+1

自動レイアウトを使用していますか? –

+0

いいえ、私は自動レイアウトを使用していません –

+0

コードに到達したことを確認するためにブレークポイントを使用しましたか? – bneely

答えて

16

OK私はそれを解決したと思います。 iOS 7の前は、ストーリーボードでviewDidLoadでアニメーションを実行しても問題ありませんでした。アニメーションコールを- (void)viewDidAppearに移動すると、再び動作を開始するはずです。あなたの場合はに- (void)viewDidAppearと電話したいと思うでしょう。

+0

jimbobに感謝しますが、私は解決策を見つけようとしていますが、viewDidLoadとviewdidapearのメソッドを呼び出して実行しても表示されない場合、ブレークポイントとNSLogでチェックします。 T_T –

+0

あなたはUIViewAnimationOptionBeginFromCurrentStateを使ってみましたか? – jimbob

+0

申し訳ありませんが動作していない、&アニメーションのために、私はループまたは無限の実行アニメーションに必要なので、私はUIViewAnimationOptionRepeatが必要ですが、私はアプリU_U –

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]; 
} 
関連する問題