您解决的导航控制器错误的问题。我假设在拆分master和SpeciesViewController之前,它们都存在于相同的导航环境中,并且使用相同的导航控制器。但在拆分视图中,它们并没有。您的详图控制器实际上是您正在寻找的导航控制器,它必须控制所有导航,并且必须有您需要的按钮。您可以通过以下方式从master获取:
guard let split = splitViewController, let navController = split.viewControllers.last as? UINavigationController else { return }
并确保您拆分的控制器未嵌入到另一个UINavigationController中(第二个导航栏的原因)。
编辑:
返回详图导航控制器的函数:
var detailsNavigationController: UINavigationController? {
return splitViewController?.viewControllers.last as? UINavigationController
}
要访问blue call DetailsNavigationController,要访问red,请使用navigationController。