回答

1

使用(目標C):

[self.navigationController setNavigationBarHidden:YES animated:YES]; 
+0

我需要禁用它,並給它一個褪色的外觀,就像ActionSheet一樣。 – Arock

+2

將導航欄的alpha值設置爲0.6或0.5以進行淡入淡出,當想要正常時,將其重置爲1. navigationBar.alpha = 0.5f; –

+1

這可行,但狀態欄現在在iOS7中淡出 – Arock

0
self.navigationController.navigationBar.topItem.leftBarButtonItem.enabled = NO; 
self.navigationController.navigationBar.topItem.rightBarButtonItem.enabled = NO; 
self.navigationController.navigationBar.topItem.backBarButtonItem.enabled = NO; 
1

在夫特:

self.navigationController?.setNavigationBarHidden(true, animated: true) 
0

[[自我navigationController] setNavigationBarHidden:YES動畫:YES];

1

請注意,如果您想避免以這種方式再次啓用它們,您可能需要跟蹤哪些按鈕最初被禁用。

我也沒有檢查,如果這包括後退按鈕。我猜測它沒有,所以如果需要的話,你也必須考慮到這一點。

NSArray* allBarButtons = [self.navigationController.navigationBar.topItem.leftBarButtonItems arrayByAddingObjectsFromArray:self.navigationController.navigationBar.topItem.rightBarButtonItems]; 
for (UIBarButtonItem* barButton in allBarButtons) { 
    barButton.enabled = NO; 
}