SplitViewController 检查是否显示 detailView

SplitViewController check if detailView is shown

一直在尝试检查 detailView 是否显示在 splitViewController 中。这是在纵向模式下的 iPhone 上,因此屏幕上仅显示 1 个视图。我需要为细节视图呈现一个带有上下文操作的模式,但我需要检查细节视图是否实际呈现。

到目前为止我已经尝试过:

if splitViewController.isCollapsed == false { 
    //  .. always true regardless if im in the master view or detail so doesn't help
}

if splitViewController.displayMode == .primaryHidden {
    print("Detail view is visible")
    // Doesn't return true in detailView
}

还有其他检查方法吗?

通过尝试记录所有的事情发现这样:

print(splitViewController.childViewControllers[0]) // UINavigationController
let navigationcontroller = splitViewController.childViewControllers[0] as! UINavigationController

print(navigationcontroller.visibleViewController) // MasterViewController