2016-11-18 80 views
1

我正在製作一個簡單的導航控制器,我想以編程方式添加一個正確的條形按鈕項目,但我無法顯示它。顏色變爲紅色,名稱顯示爲「我的應用程序」,但由於某種原因沒有添加按鈕。UIBarButtonItem未顯示Swift 3

任何想法?

let nav = UINavigationController(rootViewController: myViewController) 
nav.isNavigationBarHidden = false 
nav.navigationBar.barTintColor = UIColor.red 
nav.navigationBar.topItem?.title = "My App" 
nav.navigationBar.textColor = UIColor.white   
let add = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addStuff)) 
add.tintColor = UIColor.white 
nav.navigationItem.rightBarButtonItem = add 

回答

3

您正在將按鈕添加到錯誤的navigationItem。導航欄顯示最頂層視圖控制器的navigationItem,因此您需要將該按鈕添加到視圖控制器的navigationItem

您還應該設置視圖控制器的標題,而不是導航欄的標題。

myViewController.title = "My App" 
let nav = UINavigationController(rootViewController: myViewController) 
nav.navigationBar.barTintColor = UIColor.red 
nav.navigationBar.textColor = UIColor.white   
let add = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addStuff)) 
add.tintColor = UIColor.white 
myViewController.navigationItem.rightBarButtonItem = add 
+0

謝謝!這工作完美。 –

相關問題