我有 獲取導航控制器上顯示的按鈕時出現問題。我研究了這一點,我認爲它與導航工作方式有關。從堆棧中推出並彈出。如何找出屬於當前viewController的導航控制器?
這是我有:
我有作爲導航控制器的初始視圖。這個控制器調用幾個視圖,但是我遇到問題的視圖是UICollectionViewController。這通過連接到navigationController的第一個viewController上的按鈕單擊來調用。然後我有一個從UICollectionViewCell到一個新的ViewController的segue設置。所以我假設這是一個二級的NavigationController。
其次,我有一個後退按鈕圖像,顯示在我的導航中而不是文本<後面。
後退按鈕在導航控制器中的所有視圖中都很好顯示,但從第二層segue中調用的視圖除外。
據我所知,通過閱讀關於這個主題的其他文章,這是因爲一個新的導航控制器是在第二級賽格上創建的。
我很好,因爲一切工作正常,但我需要按鈕來顯示第二個navcontroller。
我試圖以編程方式將按鈕添加到與當前視圖關聯的導航控制器。我正在使用此代碼:
override func viewDidLoad() {
super.viewDidLoad()
var image = UIImage(named: "NavLogo")
var back_image = UIImage(named: "BackButton")
image = image?.withRenderingMode(UIImageRenderingMode.alwaysOriginal)
back_image = back_image?.withRenderingMode(UIImageRenderingMode.alwaysOriginal)
self.navigationController?.navigationItem.rightBarButtonItem = UIBarButtonItem(image: image, style: UIBarButtonItemStyle.plain, target: nil, action: nil)
self.navigationController?.navigationItem.leftBarButtonItem = UIBarButtonItem(image: back_image, style: UIBarButtonItemStyle.plain, target: nil, action: nil)
}
此代碼似乎不會將按鈕添加到當前導航控制器。
該項目是利用斯威夫特3和Xcode的8
我沒有嘗試過,但都沒有工作。有趣的是,rightBarButtonItem正在顯示。 –
克里,你有正確的答案,所以像我這樣的其他一些骨頭不會忽略這個我拼錯的圖像名稱。謝謝您的幫助。 –