2012-07-07 92 views
1

我有一個應用程序,我試圖複製我看到的Apple Store應用程序在做什麼,第一個視圖沒有導航欄,但隨後的視圖。在根視圖中隱藏導航欄?

我已經嘗試過設置navigationBarHidden到YES和NO的各種組合,以便在可見時進行管理,但關鍵問題似乎是在轉換期間,它可以是可見的或不是,而在Apple Store應用程序中,導航欄不在主視圖中,而是從右側滑入子視圖。

我在尋找的是一種讓導航欄與子視圖一起滑動的方式,而不是在過渡之前或之後出現(動畫或不)。

+0

你是使用故事板還是使用xib文件? – 2012-07-07 19:22:02

+0

使用故事板。 – stevex 2012-07-07 22:38:21

回答

0

在你的主視圖中,初始化childViewController。然後在childViewController上設置導航欄,按下視圖控制器。

ChildVC *childVC = [[ChildVC alloc] initWithNibName:@"ChildVC" bundle:nil]; 
[self setChildVC:childVC]; 
childVC.navigationController.navigationBarHidden = NO; 
[self.navigationController pushViewController:childVC animated:YES]; 
+0

這對我來說是什麼讓導航控制器立即出現,而不是滑入。 – stevex 2012-07-07 20:53:27

0

如果你正在談論他們的第一個選項卡「精選」,在這裏,如果你挖掘與披露指標列表中的項目之一做什麼。它從另一個角度看似從右向左滑動。我認爲他們正在使用動畫交換兩個視圖控制器。在IS中滑動的導航控制器就是爲什麼NavBar似乎從右側滑入的原因。

你會做這樣的事情來獲得這種效果:

// First set up a view controller with frame set off to the right of the screen. 
// Then animate it sliding to the left by setting its frame x = 0; 

frame.origin.x = 0; 
[UIView animateWithDuration:.4 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut 
    animations:^{ 
     vc.view.frame = frame; 
    } 
    completion:nil];