嵌套详细视图中缺少后退按钮 (UISplitViewController)
Missing back button in nested detail view (UISplitViewController)
我正在尝试为 UISplitViewController 的详细视图控制器设置嵌套视图控制器。为简单起见,我将主视图保持原样;详细视图中有一个按钮,'Go further',它转到第二个视图控制器。在紧凑型设备中,iPhone,一切正常,用户点击“走得更远”,它导航到第二个视图控制器,后退按钮出现在左上角,用户可以继续回到第一个视图。
但是在 iPad 的横屏模式下,当用户单击“进一步”按钮并导航到第二个视图控制器时,那里没有后退按钮。
这是我的设置:
整个项目可在 https://github.com/maysamsh/SplitViewWithNestedDetailViews
- 问题的根源在于第一个和第二个之间的导航控制器。没必要,删了吧
- 直接从 Go Further 按钮创建一个 Push segue 到 Second One 的视图。
将 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")
}
我正在尝试为 UISplitViewController 的详细视图控制器设置嵌套视图控制器。为简单起见,我将主视图保持原样;详细视图中有一个按钮,'Go further',它转到第二个视图控制器。在紧凑型设备中,iPhone,一切正常,用户点击“走得更远”,它导航到第二个视图控制器,后退按钮出现在左上角,用户可以继续回到第一个视图。
但是在 iPad 的横屏模式下,当用户单击“进一步”按钮并导航到第二个视图控制器时,那里没有后退按钮。
这是我的设置:
整个项目可在 https://github.com/maysamsh/SplitViewWithNestedDetailViews
- 问题的根源在于第一个和第二个之间的导航控制器。没必要,删了吧
- 直接从 Go Further 按钮创建一个 Push segue 到 Second One 的视图。
将 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") }