2012-07-20 6 views
9

私はiBooksのクローンであるアプリケーションに取り組んでいます。最後の2日間は、iBookアプリのようなブックカバーのフローをアニメートしようとしています。UIViewControllersトランジションエフェクトiBooksと同様ブックオープニングエフェクトですか?

これは私がまさにこのように私の本棚を持って、iBooksのスクリーンショットです:

enter image description here

:ユーザーが、私はこのようなアニメーションの移行を行いたい任意のブックをタップすると

enter image description here

enter image description here

あなたは本を見ることができますr左と白の表示は、本の内容を読み込むための新しいviewcontrollerです。

誰でもこの問題を解決できますか?同じアニメーションを正確に実行したい。 2つのビューコントローラーがあります。

+1

同様のを見ることができます質問: http://stackoverflow.com/questions/8499601/open-close-unfolding-book-animation-in-ibooks –

+0

返信ありがとうございますが、probはUIViewアニメーションとUiViewControllerアニメーションの違いがあります。 – munibsiddiqui

+0

2つのView Controller間を移動する場合は、これをカスタムセグレットとして実装することもできます。このコードは、2つのビュー間での遷移と似ています。私は最後の年、Core AnimationのWWDCセッションビデオには、ビデオの終わりにカスタムセグ(ファイアー:P付き)があったと思います。 –

答えて

0

私はよく分かりませんが、UIPageViewControllerを試してみてください。本 ReadingViewControllerと棚ブツ - - 読み取りが発生するのViewController(質問の最後の画像を参照)

はカバーがUIImageViewあるとしましょう LibraryViewControllerhttp://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIPageViewControllerClassReferenceClassRef/UIPageViewControllerClassReference.html

+0

クイック返信をありがとう、しかし、私はすでに達成しているページをめくっている間、UipageViewControllerさんはUカール効果を与えます、私が望むものは、ブックカバーオープニング効果です – munibsiddiqui

1

凡例:ここ はリンクです。 iOS 5.0以降では、サブビューとしてreadingViewControllerを追加してLibrabryViewControllerとすることができます。次に、アニメーションの1つがブックをズームしています(readingViewController + UIIMageView)。ここでは両方のコンテナであるUIViewをアニメーション化することをお勧めします。

UIIMageView.transform = CGAffineTransformMake(a,b,c,d,tx,ty); は、私が思うに、dはあるべき-1ここ See more for CGAffineTransform

P.S.: 2つ目は、カバーをflipingされますこれは興味深い問題のようです。私の提案した方法が可能かどうか教えてください!

4

これはあなたを助けることができるbであり、それをチェックアウト:

coverView.layer.anchorPoint=CGPointMake(0, .5); 
    coverView.center = CGPointMake(coverView.center.x - coverView.bounds.size.width/2.0f, coverView.center.y); 

    NSLog(@"%f",coverView.layer.anchorPoint.y); 

    [UIView animateWithDuration:.5 delay:0 options:UIViewAnimationCurveEaseIn animations:^{ 
     coverView.transform = CGAffineTransformMakeTranslation(0,0); 
     CATransform3D _3Dt = CATransform3DIdentity; 
     _3Dt =CATransform3DMakeRotation(3.141f/2.0f,0.0f,-1.0f,0.0f); 
     _3Dt.m34 = 0.001f; 
     _3Dt.m14 = -0.0015f; 
     coverView.layer.transform =_3Dt; 
    } completion:^(BOOL finished){ 
     if (finished) { 
      [self animateCurrentViewController]; 
      [self toolBarAndNavigationBarNeedToShow:YES]; 
     } 
    }]; 

CoverView私はgithubの上のコードのibookオープン効果のデモを持って何が、ウルの見解

+0

m34とm14値はiPhoneではうまく動作しますが、iPadではうまく動作しません。 –

5

ではありません、あなたはiBooksOpen

+0

こんにちは、私のアプリでiBooksOpenプロジェクトを使用できますか?私はライセンスを見つけることができません。オープンソースですか?ありがとう – Max

関連する問題