我不知道这里发生了什么。我在UINavigationController中有一个单独的视图应用程序。第一页标题首先开始,但是一旦你导航2页,当你回来时,标题只是"返回"。
然后当您点击第2页时(注意后退按钮显示"主页":
此时,如果单击后退按钮,页面#1的标题仍然是"主页面"。如果您转到第3页,您会看到这一点(我将第2页的标题设置为"",因此后退按钮只是一个箭头):
当您点击后退箭头返回第2页时,后退按钮的标题已更改为"返回":
当您按下该返回按钮到第1页时,标题已更改为阅读"返回"。发生的任何进一步导航都不会更改标题:
这里有任何与设置标题,导航栏,推送视图控制器,我能想到的任何可能相关的代码有关的代码:
的AppDelegate:
UINavigationBar.appearance().isOpaque = false
UIBarButtonItem.appearance().tintColor = .black
UINavigationBar.appearance().tintColor = .black
页面#1视图控制器:
func launchContent(clerkship: String) {
let listVC = storyboard?.instantiateViewController(withIdentifier: "ListViewController") as! ListTableViewController
listVC.currentClerkship = clerkship
navigationController?.pushViewController(listVC, animated: true)
}
override func viewDidLoad() {
super.viewDidLoad()
self.title = "Main Page"
UINavigationBar.appearance().barTintColor = UIColor(red:0.93, green:0.93, blue:0.93, alpha:1.0)
Page#2 viewcontroller:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let contentVC = storyboard?.instantiateViewController(withIdentifier: "ContentViewController") as! ContentViewController
contentVC.currentContent = contentDict[currentClerkship]![indexPath.section][indexPath.row]
contentVC.currentClerkship = currentClerkship
navigationController?.pushViewController(contentVC, animated: true)
}
Page#3 Viewcontroller:
override func viewDidLoad() {
super.viewDidLoad()
UINavigationBar.appearance().barTintColor = clerkshipToDisplay.darkColor
self.title = contentToDisplay.title
我也试过重启Xcode。知道会发生什么事吗?
答案 0 :(得分:0)
啊,我是个白痴。刚刚发现这个嵌入在我的Page#3 viewDidLoad方法中。几天前,当我弄乱标题时,它一定是遗留下来的,当我检查原因时我错过了它。如果其他人有这个问题,这就是罪魁祸首:
$this->count_brands();