2016-11-15 151 views
0

UIViewControllerviewDidLoad方法我自定義導航左鍵的圖標和行爲是這樣的:恢復原始後退按鈕行爲

let backButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.action, target:self, action:#selector(handleBack)) 
self.navigationItem.leftBarButtonItem = backButton 

有什麼辦法恢復其原有appearence和行爲?

enter image description here

+0

你是什麼意思? – zombie

+1

不,你不能這樣做,你只能選擇有一個自定義的背景圖像,看起來像原來的,並根據需要切換。 – iphonic

+0

你的意思是在舊的iOS版本? – DeyaEldeen

回答

1
self.navigationItem.leftBarButtonItem = nil 
self.navigationItem.hidesBackButton = NO 
+0

這正是我想要做的,但我認爲有一些其他的方式 –

+0

@IanBell它是一個很好和正確的解決方案。而且,我認爲,它的EZ解決方案:) –

1

你將不得不做這種方式:

viewDidLoad方法,補充一點:

self.navigationItem.hidesBackButton = YES; 
let backButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.action, target:self, action:#selector(handleBack)) 
self.navigationItem.leftBarButtonItem = backButton; 

要恢復,這樣做:

self.navigationItem.leftBarButtonItem = nil; 
self.navigationItem.hidesBackButton = NO; 
+0

這是我想做的同樣的事情,但我認爲還有其他方法,這就是爲什麼我問 –

0

導航欄僅支持這些

buttons

我通過與this提取的iOS資產的資產消失了,它是如此惱人的校準後退按鈕不看假的,即使我用提取的,我的建議是讓導航控制器通過保持推入堆棧時出現的背面來爲您處理此問題。

+0

問題並非總是如此。那就是:有時候,在某些視圖控制器中,您不需要後端功能。例如,當用戶登錄時,您希望在該位置放置一個顯示其頭像的圖標(當您單擊該頭像時,您訪問用戶可以編輯其個人資料的部分)等。 –