2011-08-17 13 views
1

までこれまでビューを切り替えるためにbegin/commitメソッドを使用しました。このようにして、2つ以上のビューを同時に組み合わせて上部に挿入することは容易に可能でした。私の場合、それはborder2.viewを持つcontent2.viewです。アニメーションは、フレーム内のコンテンツを含む1つのビューのように見えます。複数のビューでのブロック遷移

[UIView beginAnimations:nil context:NULL]; 
    [UIView setAnimationDuration:speed]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:window cache:YES]; 

    [window addSubview:content2.view]; 
    [window addSubview:border2.view]; 

    [UIView commitAnimations]; 

    content1.view = nil; 

は今、私はブロックにアニメーションを変換したかったです。それも動作しますが、私は2つのビューをどのように "マージ"できるのか分かりません。方法はありますか?

[UIView transitionFromView:content1.view 
        toView:content2.view 
        duration:2.0 
        options:UIViewAnimationOptionTransitionFlipFromRight 
       completion:NULL]; 

答えて

0

あなたがメソッドを使用する必要があります。

transitionWithView:duration:options:animations:completion: 

transitionFromView:toView 1つのビューから別のビューへの移行を必要とする最も一般的な場合のための便利なメソッドです。この場合

、あなたのコードは

[UIView transitionWithView:window 
        duration:2.0 
        options:UIViewAnimationOptionTransitionFlipFromRight 
       animations:^{ [window addSubview:content2.view]; 
           [window addSubview:border2.view]; } 
       completion:^(BOOL completed){ [content1.view removeFromSuperview]; 
               content1.view = nil; } 
+0

はどうもありがとうございましたする必要があります! – Bobby