2011-01-13 18 views
1

私は非常に単純なフリップアニメーションを実装していますが、フリップはありません。 2つのビューあなたラッピング(ドキュメントから)UIViewAnimationOptionTransitionFlipFromRcodeがXcodeによって認識されない

[UIView transitionWithView:containerView 
      duration:0.2 
      options:UIViewAnimationOptionTransitionFlipFromLeft 
      animations:^{ [fromView removeFromSuperview]; [containerView addSubview:toView]; } 
      completion:NULL]; 

:私はテンプレートとしてドキュメントからの例を使用しています

は、Appleは今、あなたはアニメーションのためのブロックを使用し、これが取るべきアプローチであることをお勧めしますコンテナ内で移行したい 私はこれを好きです。

UIView *container = [[UIView alloc] initWithFrame:target]; 
[self.view addSubview:container]; 
[container addSubview:productImage]; 

UIView *background = [[UIView alloc] initWithFrame:target]; 
[background setBackgroundColor:[UIColor darkGrayColor]]; 
[background setAlpha:0.1f]; 

[UIView transitionWithView:container 
        duration:0.8 
        options:UIViewAnimationOptionTransitionFlipFromRight 
       animations:^{ 
        [[[container subviews] objectAtIndex:0] removeFromSuperview]; 
        [container addSubview:background]; 
       } 
       completion:NULL]; 

二つの奇妙なことが起こる: 何の遷移はありませんが、コンテナは(タイプUIImageViewの)productImageを表示し、その後、バックグラウンドビューでそれを交換します。アニメーションはありません。二つ目は、これは通常のタイプミスではないことを信じるように私を導いたものです

は、それが強調表示されていない、オートコンプリートではないでしょう

UIViewAnimationOptionTransitionFlipFromRight 

は、Xcodeので認識されていないということでした。 Xcodeのが唯一の私が使用している場合、非推奨ということでしょう。私は、すべてが4.2に設定されているように見えるなど、私のSDKのバージョンを確認するために始めた

UIViewAnimationTransitionFlipFromRight //i.e. without the Option part 

、XCodeのは、バージョン3.2.5で、両方のターゲットおよびプロジェクトの設定は、ビルドしています配布ターゲットを4.2に設定します。

私はここで何が欠けていますか?

訓練された目のセットが私を助けてくれることを願っています:)ありがとうございました。あなたがブロックを行っている(と誰もが彼らと一緒に行くを開始すべきである)場合

答えて

-1

このコードはあなたに役立つ

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.5]; 


UIViewAnimationTransition transition = UIViewAnimationTransitionFlipFromRight; 
[UIView setAnimationTransition:transition forView:[self.navigationController view] cache:NO]; 


[UIView commitAnimations]; 

乾杯

+0

こんにちはAdityaとありがとう。どのようにブロックでそれを行うには? – RickiG

+0

アプリケーションの起動時にこのアニメーションを使用していると仮定し、このコードをメソッドに入れ、このメソッドを起動時に次のように呼び出します。[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(initTab)userInfo:自己反復:いいえ]。ここでinittabはアニメーションブロックのコードを含むメソッドになります。 – Aditya

+2

なぜそれを推測しますか?私はRickiが新しいブロックAPIを使いたいと思う。これはアニメーションを行う古い方法です。 Appleのドキュメントでは、beginAnimations:context:は新しいiOS 4アプリケーションでは避けるべきだと述べています。しかし、私には解決策がありません。私は自分自身で同じ問題を抱えている。 –

関連する問題