2012-03-20 15 views
0

私はさまざまな目的のためにたくさんの意見を持っている進行中のアプリを持っています。その中の1つでは、既存のビューを「背景」として使用し、そのフリップ内にビューを挿入したいと思っています.- iPhone/iPod上の「Now Playing」ビューと非常によく似ています。画像とトラックのリスト 誰かが私を正しい方向に向けることができますか?iTunesで今再生しているようなフリップビューですか?

+0

なぜ私はこの質問をして投票しましたか? – wayneh

+0

私の答えが役に立ったらフィードバックをお願いしますか? – dom

答えて

4

アップルView Controller Programming Guide for iOSを見てください。私は、最も簡単な方法は、UIModalTransitionStyleFlipHorizontalのモーダルビューをトランジションスタイルとして使用することだと思います(私が投稿したガイドの「View Controllerの表示とトランジションスタイルの選択」を参照してください)。

チュートリアル:
- http://timneill.net/2010/09/modal-view-controller-example-part-1/
- http://timneill.net/2010/11/modal-view-controller-example-part-2/

EDIT

私はあなたがUINavigationControllerを使用していると思いますので、ここでは例として目に見えるナビゲーションバーを保つのViewController、です。あなたのビューコントローラの中に2番目のビューを置き、それを隠すだけです。

ViewController.h:

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController { 
    UIView *backSideView; 
} 

- (IBAction)switchViews:(id)sender; 

@end 

ViewController.h:メソッドを実装するよりも、これらのビューを切り替える、(私はInterfaceBuilderを使用してボタンにフックIBActionを使用)

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 


- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    backSideView = [[UIView alloc] initWithFrame:[self view].bounds]; 
    [backSideView setBackgroundColor:[UIColor greenColor]]; 

    // ... put stuff you want inside backSideView ... 

    [backSideView setHidden:YES]; 
    [[self view] addSubview:backSideView]; 
} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); 
} 

- (IBAction)switchViews:(id)sender 
{ 
    if ([backSideView isHidden]) 
    { 
     [UIView transitionWithView:self.view 
          duration:1.0 
          options:UIViewAnimationOptionTransitionFlipFromLeft 
         animations:^{ [backSideView setHidden:NO]; } 
         completion:^(BOOL finished){ [self setTitle:@"BackView"]; } 
     ]; 
    } 
    else 
    { 
     [UIView transitionWithView:self.view 
          duration:1.0 
          options:UIViewAnimationOptionTransitionFlipFromRight 
         animations:^{ [backSideView setHidden:YES]; } 
         completion:^(BOOL finished){ [self setTitle:@"FrontView"]; } 
     ]; 
    } 
} 

@end 
+0

リンクをありがとうございますが、もし私が知っていれば、チュートリアルのようにもっと必要なものがあると思います。 – wayneh

+0

@waynehリンクを追加しました。それらを介して作業し、自分でモーダルビューを実装することができるはずです:) – dom

+0

私はこの時点で別の質問にそれを取る必要があると思う。あなたは役に立ちました。他のスレッドやチュートリアルもたくさん読んでいます。私は反転表示され、NavBarは静的なままですが、ツールバーが反転し、静的にする必要があります。再度、感謝します。 – wayneh