2012-07-26 64 views
1

我有一個視圖控制器,我想要一個頂部欄,另一個我沒有。從視圖控制器中刪除頂部欄

他們都在相同的導航控制器

我怎樣才能讓第一視圖控制器沒有頂欄第二視圖控制器有一個頂級的酒吧


編輯:

如果我使用[self.navigationController setNavigationBarHidden:YES];那麼就會有一個黑盒子,其中最上面一欄曾經是直到下一個界面完成它的飛我怎樣才能避免這種情況?

回答

2

使用這個屬性在你的第一個視圖控制器:

[self.navigationController setNavigationBarHidden:NO]; 

在第二個視圖控制器,在viewWillAppear中,下面放線,

[self.navigationController setNavigationBarHidden:YES]; 

在第二個視圖控制器,在viewWillDisappear ,放在下面一行,

[self.navigationController setNavigationBarHidden:NO]; 
+0

這可以工作,但是當我想要在屏幕之間來回導航時,頂部欄已打開。我在viewDidLoad方法中調用了該代碼。此外,你已經得到了,沒有錯的方式:P – 2012-07-26 10:33:20

+1

把它放在viewwillappear – hacker 2012-07-26 10:34:56

+0

是否有可能動畫這一點,當頂部欄被刪除,有一個大的黑色空間... – 2012-07-26 10:39:13

0

你可以用這段代碼隱藏導航欄:

[self.navController setNavigationBarHidden:YES]; 

並重新設定下一個視圖控制器:

[self.navController setNavigationBarHidden:NO]; 
0

呼叫方法:

[self.navController setNavigationBarHidden:YES]; 
[self.navController setNavigationBarHidden:NO]; 
在viewWillAppear中方法

每個查看您想隱藏/顯示NavController。

0

使用self.navigationController.navigationBar.hidden = YES;當您想隱藏導航欄並使用self.navigationController.navigationBar.hidden = NO;當您想要取消隱藏它。

+0

當我回到segue時,rishi似乎是黑色的?有什麼辦法可以刪除它? – 2017-11-27 03:58:52

相關問題