[英]Swift how to preserve navigation bar button items after 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
如果要在多個Viewcontroller中使用相同的按鈕,則可以創建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
}
}
然后,只需在要顯示按鈕的viewControllers中繼承它即可。
class HelpViewController: AHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
當使用Push在視圖控制器之間進行選擇時,您將獲得默認的“水平幻燈片”導航動畫。 嘗試“以模態形式呈現”或“以彈出窗口形式呈現”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.