提问人:spoax 提问时间:2/9/2018 最后编辑:pableirosspoax 更新时间:11/22/2021 访问量:5565
选择其他选项卡时更改导航栏标题
Change Navigation Bar Title when different tab is selected
问:
我对 xcode 还很陌生。
我正在尝试以编程方式更改导航标题,当在我的 .UITabBarController
我有一个创建选项卡栏,然后我有一个单独的选项卡,每个选项卡都有不同的内容 - 这部分工作正常,但是当选择不同的选项卡时,我无法更改导航标题。UItabBarController
UIViewControllers
下面是主选项卡控制器的代码。
// SUPER VIEW DID LOAD
override func viewDidLoad() {
super.viewDidLoad()
// NAVIGATION ITEM
navigationItem.title = "Job Information"
navigationController?.navigationBar.prefersLargeTitles = true
//setup our custom view controllers
let jobInfo = page_jobInfo()
let shots = page_shotList()
let attachments = page_attachments()
let notes = page_notes()
jobInfo.tabBarItem.title = "Information"
jobInfo.tabBarItem.image = UIImage(named: "jobInfo")
shots.tabBarItem.title = "Shots"
shots.tabBarItem.image = UIImage(named: "shots")
attachments.tabBarItem.title = "Attachments"
attachments.tabBarItem.image = UIImage(named: "attachments")
notes.tabBarItem.title = "Notes"
notes.tabBarItem.image = UIImage(named: "notes")
viewControllers = [jobInfo, shots, attachments, notes]
}
这是第二个选项卡按钮的代码 - 其他 2 个选项卡与此相同,因此不想用大量代码向此提要发送垃圾邮件。
// SUPER VIEW DID LOAD
override func viewDidLoad() {
super.viewDidLoad()
// NAVIGATION ITEM
navigationItem.title = "Shot List"
navigationController?.navigationBar.prefersLargeTitles = true
}
答:
13赞
Dan Karbayev
2/9/2018
#1
由于视图控制器嵌入在 中,因此应更改其(选项卡栏控制器的)navigationItem。此外,您应该在 method 中执行此操作,而不是 ,如下所示:UITabBarController
viewWillAppear
viewDidLoad
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.tabBarController?.navigationItem.title = "Bookmarks"
}
评论