在我的根視圖控制器中,我設置了一個帶有圖像的酒吧按鈕項的數組,並將它們分配給右側的酒吧按鈕。Swift如何在推後保留導航欄按鈕項
當我推動下一個視圖控制器時,我的導航欄重置並僅顯示後退按鈕。
任何方式來保留導航欄,因爲它在根視圖控制器上設置,因此它會顯示在所有頁面上?
在我的根視圖控制器中,我設置了一個帶有圖像的酒吧按鈕項的數組,並將它們分配給右側的酒吧按鈕。Swift如何在推後保留導航欄按鈕項
當我推動下一個視圖控制器時,我的導航欄重置並僅顯示後退按鈕。
任何方式來保留導航欄,因爲它在根視圖控制器上設置,因此它會顯示在所有頁面上?
當你在使用Push的視圖控制器之間延續時,你會得到默認的「水平滑動」導航動畫。嘗試「呈現模式」或「呈現爲彈出式廣告」。
正如user1046037所說的,您可以在準備賽格時設置項目按鈕。
實施例:
let helpViewController = HelpViewController(nibName: "HelpViewController", bundle: nil)
let someLeftButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.refresh, target: self, action: "someAction")
helpViewController.navigationItem.leftBarButtonItem = someLeftButton
helpViewController.navigationItem.leftItemsSupplementBackButton = true
navigationController?.pushViewController(helpViewController, animated: true)
這一個是保持左按鈕項和背面之一。
helpViewController.navigationItem.leftItemsSupplementBackButton = true
如果你要使用幾個Viewcontrollers相同的按鈕,你可以創建一個BaseViewController設置按鈕時,他的行爲。
class AHBaseViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
configureNavigationBar()
// Configure Common status bar if you want too.
}
func configureNavigationBar() {
let someLeftButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.refresh, target: self, action: "someAction")
navigationItem.leftBarButtonItem = someLeftButton
navigationItem.leftItemsSupplementBackButton = true
}
}
然後只是繼承它,在你想要顯示按鈕(s)的viewControllers。
class HelpViewController: AHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
在'prepareForSegue'中設置目標視圖控制器的正確導航項。 – user1046037