从UITableViewController切换到TabbarController的第一个视图后,导航标题和ButtonItem消失

时间:2018-09-23 04:32:35

标签: swift uitabbarcontroller uistoryboardsegue navigationbar

enter image description here

我刚刚更新到xcode 10,并使用Swift 4.2。我以前曾使用过这种模式,没有任何问题,但是现在我遇到了一个非常奇怪的问题,在该模式下,我无法访问选项卡栏子视图中的标题或导航项按钮。我的视图层次结构显示“保存”按钮在那里,但加载后未显示在情节提要中或模拟器中。我的数据已正确传递到视图(因此实际序列没有问题),但导航栏仅显示“后退”按钮。 (请参阅图像中的最后一个视图控制器。)

我读了一篇帖子,其中有人对我尝试的视图进行了新的选择。它不起作用。我看到了另一篇文章,他们在TabBarController和TabBar视图之间添加了另一个导航控制器。那也没有用。在另一篇文章中还有其他一些建议,以编程方式在子视图中设置标题。这也没有用,因为什么都没有出现。就像是在其顶部放置了一个新的导航栏一样。

我也尝试过清洁和重建项目。我已经重新启动了xcode。似乎没有任何帮助。

这是一个疯狂的错误,还是有修复程序?其他人正在经历这个吗?感谢您抽出宝贵时间阅读本文!

这是我的密码:

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

            }
        }
   }

}

0 个答案:

没有答案