【问题标题】:Swift / iOS - Preserve UINavigationItem when pushing new view controllerSwift / iOS - 推送新视图控制器时保留 UINavigationItem
【发布时间】:2019-04-23 04:11:33
【问题描述】:
在 swift 4 中是否有一种干净的方法可以在从一个 UIViewController 推送到另一个 UIViewController 时显示的导航栏中保留完全相同的UINavigationItems。
这意味着当新的视图控制器被推入堆栈时,我希望导航栏保持原样(所有相同的项目)
【问题讨论】:
标签:
ios
swift
uinavigationcontroller
uinavigationbar
uinavigationitem
【解决方案1】:
其实已经很久了。只需将 rootViewController 或 currentVC 设置为 UINavigationBar 的委托。
class RootVC : UIViewController, UINavigationBarDelegate{
func navigationBar(_ navigationBar: UINavigationBar, shouldPush item: UINavigationItem) -> Bool{
return false;
}
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.navigationBar.delegate = self
}}