初始视图控制器标题更改为"返回"迅速

时间:2018-01-25 15:33:02

标签: ios swift uinavigationcontroller

我不知道这里发生了什么。我在UINavigationController中有一个单独的视图应用程序。第一页标题首先开始,但是一旦你导航2页,当你回来时,标题只是"返回"。

这是第一次打开应用时页面#1的外观: enter image description here

然后当您点击第2页时(注意后退按钮显示"主页": enter image description here

此时,如果单击后退按钮,页面#1的标题仍然是"主页面"。如果您转到第3页,您会看到这一点(我将第2页的标题设置为"",因此后退按钮只是一个箭头): enter image description here

当您点击后退箭头返回第2页时,后退按钮的标题已更改为"返回": enter image description here

当您按下该返回按钮到第1页时,标题已更改为阅读"返回"。发生的任何进一步导航都不会更改标题: enter image description here

这里有任何与设置标题,导航栏,推送视图控制器,我能想到的任何可能相关的代码有关的代码:

的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。知道会发生什么事吗?

1 个答案:

答案 0 :(得分:0)

啊,我是个白痴。刚刚发现这个嵌入在我的Page#3 viewDidLoad方法中。几天前,当我弄乱标题时,它一定是遗留下来的,当我检查原因时我错过了它。如果其他人有这个问题,这就是罪魁祸首:

$this->count_brands();