2016-11-04 34 views
0

我有一個UINavigationController連接到UITabBarCotnroller。 當我推ViewController並在該類我寫這篇文章的代碼在他們viewWillAppear方法NavigationBar後退按鈕在popViewController後更改文本

self.navigationController?.navigationBarHidden = false 
    let yourBackImage = UIImage(named: "Back.png") 
    self.navigationController?.navigationBar.backIndicatorImage = yourBackImage 
    self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = yourBackImage 
    self.navigationController!.navigationBar.backItem?.title = ""; 

這段代碼我只是設置一個後退按鈕圖像與空標題。 但是,當我推動當前推屏幕上的另一個屏幕,然後再次點擊它顯示標題與文本「返回」 我寫上述代碼在每個視圖控制器的viewWillAppear方法將推。

+0

您可以嘗試更改標題那樣:'NavigationItem.BackBarButtonItem =新的UIBarButtonItem( 「」,UIBarButtonItemStyle.Plain,NULL);'。這是Xamarin C#代碼,但將它轉換爲Swift應該很容易。標題中顯示的 – Andrius

+0

是您面臨的唯一問題? – Joe

+0

是的,返回標題是唯一的問題@Joe –

回答

1

雖然我相信設置backIndicatorImagebackIndicatorTransitionMaskImage將工作於viewDidAppear(),但我發現設置背面文本本身的問題。我總是不得不用一個新的按鈕來設置文本,即使如此,從轉換控制器開始它的工作效果會更好(因爲這是他們可以返回的視圖,所以我不必關心用戶在哪裏正在從過渡)。

您可以嘗試在您的viewWillAppear()中使用此功能,但我在我的prepare(for:, sender:)功能中使用此功能。

let backItem = UIBarButtonItem() 
backItem.title = "" // In my case, I was setting it here; you would blank it out 
self.navigationItem.backBarButtonItem = backItem