推送 UIViewController 的自定义导航栏
Posted
技术标签:
【中文标题】推送 UIViewController 的自定义导航栏【英文标题】:Custom navigation bar for pushed UIViewController 【发布时间】:2016-09-12 06:39:45 【问题描述】:如果我使用 navigationController.pushViewController(controller:animated:completion:)
将其推送到 navigationController 上,同时保留“Back”按钮,如何在推送的视图控制器的导航栏上设置标题和按钮?
提前谢谢你!
【问题讨论】:
可以在push view controller的viewDidLoad
方法中设置title和bar项
@pkc456 哦,对了,我尝试通过self.navigationController?.navigationItem
访问navigationItem
,而不是直接访问。
【参考方案1】:
对于任何想知道如何执行此操作的人,只需直接覆盖您推送的UIViewController
的navigationItem
属性。我的错误是我试图通过self.navigationController?.navigationItem
来完成此操作
【讨论】:
【参考方案2】:这是设置导航标题和左键的代码
代码:
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view.
//For Setting Title
self.title = "New Title";
//For setting button in place of back button
let leftItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Cancel, target: self, action: "leftButtonClicked");
self.navigationItem.leftBarButtonItem = leftItem;
编码愉快...
【讨论】:
以上是关于推送 UIViewController 的自定义导航栏的主要内容,如果未能解决你的问题,请参考以下文章
从另一个 UIViewController 推送一个 UIViewController - 如何?
从 UIViewController 中删除我的自定义 MKMapView
instantiateViewControllerWithIdentifier 上的自定义 UIViewController