2011-07-28 46 views
0

頂部有一個導航欄,底部有一個標籤欄。然後我在導航欄上放置一個信息燈按鈕。我的任務是按信息按鈕將中間區域切換到另一個視圖,並保持導航欄和標籤欄靜止不動。如何切換屏幕的一部分視圖

-(IBAction) infoButtonPressed:(id)sender 
{ 
BMIInfo *infoView = [[BMIInfo alloc] initWithNibName:nil bundle:[NSBundle mainBundle]]; 

infoView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self.navigationController pushViewController:infoView animated:YES]; 
[infoView release]; 

} 

用上面的這段代碼,我只是將視圖切換爲一個平移移動。我希望有一個翻轉的舉動。我能怎麼做?

- (IBAction)infoButtonPressed:(id)sender; 
{ 
BMIInfo *infoView = [[BMIInfo alloc] initWithNibName:nil bundle:nil]; 

infoView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:infoView animated:YES]; 

[infoView release]; 
} 

與這一個我切換屏幕上的翻轉方式,但它切換整個屏幕。我希望標籤欄靜止不動。我不想要標籤欄開關。

回答

0

目前還不清楚你想要完成什麼。

如果你想有一個模式的看法,那麼你應該使用類似

[self presentModalViewController:navController animated:YES]; 

這樣你以前的屏幕將用同樣的方式,除非您關閉它留下。如果你打算在你的模式視圖中有一個導航和一個標籤欄,然後將該視圖聲明爲TabBarController,並且可以通過模態爲其提供一個導航欄。

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:infoView]; 

navController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:navController animated:YES]; 
+0

我想要的導航欄上的信息按鈕翻頁切換屏幕的一部分,並留下底部的標籤欄站在原地 – user844656

+0

我編輯的問題,希望把事情清除! – user844656

+0

我讀了更新,這是模態視圖控制器無法實現的,您會看到一個新的屏幕,您可以複製您在其中的選項卡,請閱讀文檔。 – Legolas

0

事情是這樣的」

-(IBAction) infoButtonPressed:(id)sender 
{ 
BMIInfo *infoView = [[BMIInfo alloc] initWithNibName:nil bundle:[NSBundle mainBundle]]; 


[UIView animateWithDuration:1 delay:0 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^(void) { 
    [self.navigationController pushViewController:infoView animated:NO]; 
    [infoView release]; 
} completion:^(BOOL finished) { 

}]; 




} 
+0

下面的代碼只是切換視圖,但沒有動畫。 – user844656