4

我有一個導航控制器(navC),我有一個視圖控制器(ViewC),它是從根控制器推送來的視圖。我隱藏了ViewC的後退按鈕,代碼如下:在導航控制器中添加標籤欄控制器時隱藏後退按鈕

[[self navigationItem] setHidesBackButton:YES]; 

我在ViewC之後推動了標籤欄控制器(tabbarC)。在與tabbarC第一個選項卡關聯的視圖控制器我曾嘗試與代碼隱藏後退按鈕:

[[[self tabBarController] navigationItem] setHidesBackButton:YES]; 

但後退按鈕仍然可見當我點擊它;它消失了......任何人都可以幫我隱藏tabbarC中所有視圖的後退按鈕。

+0

在哪個方法你放置代碼....是它viewDidLoad? – Spynet

+0

使用[[navC navigationItem] setHidesBackButton:YES]; –

+0

@Spynet我試圖在viewDidLoad和viewWillAppear沒有結果 – Saraswati

回答

12

在你的第一個觀點,當你把你的tabbarviewcontroller設置此

將出現
-(void)viewWillAppear:(BOOL)animated{ 
     [super viewWillAppear:animated]; 
     self.tabBarController.navigationItem.hidesBackButton=YES; 
} 
+1

在此代碼之後的iOS 6.2(使用程序化segue - 即'performSegueWithIdentifier')我看到後退按鈕處於非活動狀態,但仍然可見。事實上,這件事可能與你的導航堆棧和程序性遊戲有很大關係,所以在這種情況下請注意一點。 我的建議是,如果使用segues,在你的源視圖控制器的' - prepareForSegue'選擇器中放置' - setHidesBackButton'選擇器調用。 –

0

在ViewC的viewDidLoad中做到這一點:

[self.navigationController.navigationItem setHidesBackButton:YES]; 

而且選項卡中選擇視圖控制器的viewWillAppear中方法

[self.navigationController.navigationItem setHidesBackButton:YES]; 
0

在你的觀點只是寫這條線..它會隱藏回扣.. 測試

-(void)viewWillAppear:(BOOL)animated 
{ 
    [self.navigationItem setHidesBackButton:YES]; 
} 
相關問題