嵌套详细视图中缺少后退按钮 (UISplitViewController)

Missing back button in nested detail view (UISplitViewController)

我正在尝试为 UISplitViewController 的详细视图控制器设置嵌套视图控制器。为简单起见,我将主视图保持原样;详细视图中有一个按钮,'Go further',它转到第二个视图控制器。在紧凑型设备中,iPhone,一切正常,用户点击“走得更远”,它导航到第二个视图控制器,后退按钮出现在左上角,用户可以继续回到第一个视图。

但是在 iPad 的横屏模式下,当用户单击“进一步”按钮并导航到第二个视图控制器时,那里没有后退按钮。

这是我的设置:

整个项目可在 https://github.com/maysamsh/SplitViewWithNestedDetailViews

  1. 问题的根源在于第一个和第二个之间的导航控制器。没必要,删了吧
  2. 直接从 Go Further 按钮创建一个 Push segue 到 Second One 的视图。
  3. 将 FirstViewController 中的 prepareForSegue 更改为:

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let controller = segue.destination
        controller.navigationItem.leftBarButtonItem = splitViewController?.displayModeButtonItem
        controller.navigationItem.leftItemsSupplementBackButton = true
        print("prepare")
    }