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

May*_*sam 3 uinavigationcontroller uisplitviewcontroller swift

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

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

这是我的设置: 在此处输入图片说明

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

小智 5

  1. 问题的根源在于第一个和第二个之间的导航控制器。没有必要,所以继续删除它。
  2. 直接从 Go进一步按钮创建一个 Push segue 到第二个视图。 在此处输入图片说明
  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")
    }
    
    Run Code Online (Sandbox Code Playgroud)