Заголовок навигации и ButtonItem исчезают после перехода от UITableViewController к первому представлению TabbarController. - PullRequest
0 голосов
/ 23 сентября 2018

enter image description here

Я только что обновился до xcode 10 и использую Swift 4.2.Я использовал этот шаблон раньше без каких-либо проблем, но теперь у меня есть эта действительно странная проблема, когда я не могу получить доступ к кнопке заголовка или элемента навигации в дочернем представлении панели вкладок после перехода к нему.Моя иерархия представлений показывает, что кнопка «сохранить» есть, но она не отображается в раскадровке или в симуляторе после загрузки.Мои данные передаются в представление должным образом (так что никаких проблем с самим переходом), но на панели навигации отображается только кнопка «Назад».(См. Последний контроллер представления на изображении.)

Я прочитал пост, где кто-то сделал новые переходы к представлению, которое я попробовал.Это не работает.Я видел другой пост, в котором они добавили еще один контроллер навигации между TabBarController и представлением TabBar.Это тоже не сработало.В другом посте было несколько других предложений, чтобы программно установить заголовок в дочернем представлении.Это также не работает, так как ничего не появляется вообще.Это похоже на то, как будто новая навигационная панель лежит поверх нее.

Я также пробовал очистить и восстановить проект.Я перезапустил xcode.Кажется, ничто не помогает.

Это какая-то сумасшедшая ошибка или есть исправление?Кто-нибудь еще проходит через это?Спасибо всем, кто нашел время, чтобы прочитать это!

Вот мой код segue:

override func prepare(for segue: UIStoryboardSegue, sender: Any?)
{

    if let tabVC = segue.destination as? UITabBarController
    {
        if let seedDetailView = tabVC.viewControllers?.first as? AddSeedTableView
        {
            if segue.identifier == "ShowAddView"
            {
                seedDetailView.seedController = seedController
                seedDetailView.title = "Add New Seed"
            }
            else if segue.identifier == "ShowEditView"
            {
                seedDetailView.seedController = seedController
                guard let cell = sender as! SeedInfoCell?,
                    let indexPath = tableView.indexPath(for: cell) else {return}
                seedDetailView.seed = seedController.seeds[indexPath.row]
                seedDetailView.title = seedController.seeds[indexPath.row].name

            }
        }
   }

}
...