6

Facebookや他の多くのアプリで使用されているようなビューコントローラの移行を実装したい場合は、スナップショットが添付されています。 CoreAnimationフレームワークでプレーする必要がありますか、それともツールキットで利用可能ですか?facebookスタイルの移行方法

enter image description here

+0

これはCocoa Touchでは使用できませんので、画面上でコントローラを表示して表示し、トップのものを自分自身でドラッグする必要があります。 –

+0

何かの開始stuff/resource? – Firdous

+0

申し訳ありません。私は良いリソースを知らない –

答えて

4

をあなたは、誰かが提案し第三の部分のフレームワークをインポートする場合を除き、CoreAnimationを使用する必要がありますが、それはあります非常にシンプルなCoreAnimationを使用しており、非常に強力なので、あなたはそれを学ぶことをお勧めします。ここにあなたにアイデアを与えるための最も簡単なアプローチがあります。インタフェースビルダで、またはコードによってそれらを作成し

@interface yourViewController : UIViewController { 
    // The facebook view in the example, this will be the view that moves. 
    // Init this view with x=0 and let it cover the whole screen. 
    IBOutlet UIView *topView; 

    // The fb menu in the example 
    // Init this view so that it stays behind the topView. 
    IBOutlet UIView *bottomView; 

    BOOL menuVisible; // init to false in viewDidLoad! 
} 

のか、しかし:あなたのViewControllerで

は2つの見解を持っている:あなたはそれのこつを得れば、あなたのニーズに合わせて、少し良くそれを自分で構築できあなたは慣れています。それらが互いに重なり合うようにして、topViewだけを見て、buttomViewをその背後にとどめさせてください。ユーザーがメニュー表示するためにボタンを押し

:もちろん

-(IBAction)menuButtonPressed:(id)sender { 
    // Set up animation with duration 0.5 seconds 
    [UIView beginAnimations:@"ToggleMenu" context:nil]; 
    [UIView setAnimationDuration:0.5]; 

    // Alter position of topView 

    CGRect frame = topView.frame; 

    if (menuVisible) { 
     frame.origin.x = 0; 
     menuVisible = NO; 
    } else { 
     frame.origin.x = 300; //Play with this value 
     menuVisible = YES; 
    } 

    topView.frame = frame; 

    // Run animation 
    [UIView commitAnimations]; 
} 

、あなたは「Facebookのビュー」用に独自のUIViewのサブクラスを実装する必要がありますし、「メニュー表示」などと上面図に使用すると、上の例のbottomビュー

+0

こんにちは私はまた、私のiPhoneアプリケーションで同じ機能を実装しようとしています。 toggleMenuアニメーションを使用してtopViewをスライドさせ、2つのUIViewを使用しました。しかし、私はUINavigationControllerを持っているので、topViewと一緒にスライドすることはなく、単に同じ位置にとどまります。これについて私は何ができますか?あなたの提案を多く評価してください。 – Yasodha

+0

これは「自分でやる」というソリューションなので、UINavigationControllerと組み合わせるのは複雑になります。 NavigationControllerをビューの上に置くことができない場合、NavigationControllerの使用をやめ、独自のナビゲーションバーを作成するか(これをお勧めします)、メニューが表示されている間にナビゲーションバーを非表示にすることができます。私はそれを脇に押し込む方法があると確信していますが、私はそれを見つけようとするには十分な価値がないと思います... –

+0

@ user1280436あなたはnavigatecontroller.viewを使って、 。それを試してみてください私は前にこれをしていません。 –

1

これを見てください、それはあなたの出発点を与えるかもしれません: https://github.com/Inferis/ViewDeck/

+0

こんにちは私は私のiPhoneアプリケーションで同じ機能を実装しようとしています。私は、2つのUIViewを提案し、toggleMenuアニメーションを使用してtopViewをスライドさせました。しかし、私はUINavigationControllerを持っているので、topViewと一緒にスライドすることはなく、単に同じ位置にとどまります。これについて私は何ができますか?あなたの提案を多く評価してください。前もって感謝します。 – Yasodha