2012-03-20 40 views
0

我有一個正在進行的應用程序,它有很多用於各種目的的意見。其中之一,我想使用一個現有的視圖作爲'背景',然後在該翻轉內插入一個視圖 - 非常類似於專輯封面翻轉之間的iPhone/iPod上的「正在播放」視圖圖像和曲目列表。 有人能指引我正確的方向嗎?翻轉視圖就像現在在iTunes中播放?

+0

爲什麼我因爲問這個問題而被拒絕? – wayneh 2012-03-21 15:43:53

+0

如果我的回答有幫助,請您提供反饋意見嗎? – dom 2012-03-23 08:24:21

回答

4

看看Apples View Controller Programming Guide for iOS。我想最簡單的方法是使用UIModalTransitionStyleFlipHorizontal設置爲過渡樣式的模態視圖(在我發佈的指南中查找「呈現視圖控制器和選擇過渡樣式」)。

教程:
- http://timneill.net/2010/09/modal-view-controller-example-part-1/
- http://timneill.net/2010/11/modal-view-controller-example-part-2/

編輯

我猜您使用的是UINavigationController,所以這裏是一個例子視圖控制器,這使導航欄是可見的。只需在視圖控制器中放置第二個視圖並隱藏它。比實現一種方法(I使用的IBAction爲,這是我鉤住使用的InterfaceBuilder一個按鈕),這在這些視圖之間切換:

ViewController.h:

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController { 
    UIView *backSideView; 
} 

- (IBAction)switchViews:(id)sender; 

@end 

ViewController.h:

#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 2012-03-23 15:07:11

+0

@wayneh我添加了鏈接。通過他們的工作,你應該能夠實現自己的模態視圖:) – dom 2012-03-23 15:27:00

+0

我想我需要在這一點上把它帶到另一個問題。你一直很有幫助,我讀過很多其他的線程和教程。我已經獲得了視圖翻轉和NavBar保持靜態,但工具欄翻轉,我也必須使其靜態。再次感謝。 – wayneh 2012-03-26 22:56:10