2016-04-06 8 views
0

私は1つの画面を持っています、それは1つのビデオがyoutubeのような詳細とコメントで表示されるビデオ画面と呼んでください。このビューはスライド可能です。つまり、ユーザーが画面をスライドするたびに、次のまたは前のビデオが、コンテンツ全体のビューを変更することによって表示されます。単一のUIViewにスライドアニメーションを与える方法は?

私は[UIView transitionWithView]を使用してスライド効果を与えています。コンテンツビューのフレームを変更することによって、以下のように右のコードをスワイプしています。

[UIView transitionWithView:viewTop duration:0.4 
         options:UIViewAnimationOptionTransitionCrossDissolve 
        animations:^{ 
         viewTop.frame = CGRectMake(SCREEN_WIDTH, viewTop.frame.origin.y, viewTop.frame.size.width, viewTop.frame.size.height); 
        } 
        completion:^(BOOL Finished){ 

         [self getNextVideoDetail]; 
         viewTop.frame = CGRectMake(-SCREEN_WIDTH, viewTop.frame.origin.y, viewTop.frame.size.width, viewTop.frame.size.height); 

         [UIView transitionWithView:viewTop duration:0.3 
            options:UIViewAnimationOptionTransitionCrossDissolve 
           animations:^{ 
            viewTop.frame = CGRectMake(0, viewTop.frame.origin.y, viewTop.frame.size.width, viewTop.frame.size.height); 
           } 
           completion:nil 
        ]; 

        }]; 

ここで、viewTopは私のコンテンツビューです。すべて正常に動作しますが、私は、ビューを完全に消える前に、画面を左にスライドするたびに、ビューの一部を右側に表示する必要があります。私が上に書いたコードは白のself.viewを表示し、画面は何ミリ秒間も空白になるでしょう。

1つのUIViewでミラー効果を与えるようなビデオをナビゲートすることは可能ですか?

答えて

1

使用この:

CATransition *transition = [CATransition animation]; 
transition.type = kCATransitionPush; 
transition.subtype = kCATransitionFromLeft; 
transition.duration = 0.4; 
[viewTop.layer addAnimation:transition forKey:nil]; 
+0

あなたは私の一日保存された、ありがとうございました:)効果がフェージングのようなものだったよう –

+0

クライアントは、移行を好きではなかったです。滑りながらちらつきが発生します。私は、Macのようにスムーズなアニメーションが欲しいと思っています。 –

+0

次に、すべてのビューをスクロールビューに追加すると、スクロール中に自動的に目的のアニメーション効果が得られます。 'scrollview.pagingEnabled = YES;'を設定する必要があります – Nishant

関連する問題