3

我的應用程序中有一些問題。隱藏背部按鈕/ setHidesBackButton不工作

在我的應用程序中有可能編輯一些信息(如iPhone的聯繫人)。當您按導航欄右側的'編輯'按鈕時,應該隱藏「返回」按鈕,並顯示「取消」按鈕。

當用戶從ViewController直接按下「編輯」按鈕時,它可以很好地工作。

但是,當用戶創建一個新的廣告時,帶編輯功能的視圖控制器應該在編輯模式下打開。我這樣稱呼:

VICarInfo * vc = [[VICarInfo alloc] init]; 
[vc setCurrentAdv:adv]; 
[self.navigationController pushViewController:vc animated:YES]; 

if (editMode) { 
    [self.navigationItem setHidesBackButton:YES animated:NO]; 
    [vc btnEditClick]; 
} 

而「後退」按鈕並沒有消失。

我也嘗試隱藏ViewWillAppear,ViewDidLoad或ViedDidLayout子視圖中的按鈕,也不成功。

Simulator

請給我任何建議,如何做到這一點。

謝謝。

回答

4

我知道這是晚了,但我看到了同樣的事情,並找到了解決辦法。

看來hidesBackButton = YES會干擾設置leftBarButtonItem(s)。

不要使用hidesBackButton,你會失去重疊。

這看起來像一個錯誤,但蘋果自己的文檔對這兩個/三個屬性的交互非常模糊。

2

試試這個..

[self.navigationItem setLeftBarButtonItem:nil]; 
[self.navigationItem setHidesBackButton:YES]; 
+0

沒有:(不是這樣工作的... – Andrey

+0

現在你得到了什麼問題 –

+0

只是一樣,沒有什麼變化 – Andrey

1

由於iOS的5.0:

self.navigationItem.leftItemsSupplementBackButton =;

NO - 具有leftBarButtonItems隱藏backButtonItem(默認), YES - leftBarButtonItems並存與backButtonItem

有似乎仍然是然而在iOS 7的錯誤,即隱藏(或不)的backButtonItem不加區別。

12

使用此:

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:[[UIView alloc] init]]; 
+3

這真是太棒了!謝謝! – nonamelive

+0

歡迎朋友!!! – CoderSaru

0

試穿真實的設備。在真實設備上顯示自定義圖像。但不是iOS模擬器。如果你在模擬器上測試,你會看到ios的默認後退按鈕。